treewide: vectorise iconography
authorPaul Donald <[email protected]>
Fri, 25 Apr 2025 21:39:26 +0000 (23:39 +0200)
committerPaul Donald <[email protected]>
Thu, 12 Jun 2025 16:55:53 +0000 (18:55 +0200)
Clear, crisp, resolution independent vector graphics replace the trusty
microscopic PNG. Some minor CSS changes were needed to constrain images
in some locations to make sure they don't consume too much space.

Iconography taken from Mate desktop theme with minor adjustments:

https://github.com/mate-desktop/mate-icon-theme/

Signed-off-by: Paul Donald <[email protected]>
76 files changed:
applications/luci-app-alist/htdocs/luci-static/resources/view/alist/log.js
applications/luci-app-aria2/htdocs/luci-static/resources/view/aria2/log.js
applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm
applications/luci-app-commands/ucode/template/commands.ut
applications/luci-app-cshark/luasrc/view/cshark.htm
applications/luci-app-dockerman/luasrc/view/dockerman/apply_widget.htm
applications/luci-app-lxc/luasrc/view/lxc.htm
applications/luci-app-udpxy/htdocs/luci-static/resources/view/udpxy.js
applications/luci-app-v2raya/htdocs/luci-static/resources/view/v2raya/log.js
modules/luci-base/htdocs/luci-static/resources/icons/alias.png [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/alias.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/alias_disabled.png [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/alias_disabled.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/bridge.png [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/bridge.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/bridge_disabled.png [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/bridge_disabled.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/ethernet.png [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/ethernet.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/ethernet_disabled.png [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/ethernet_disabled.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/loading.gif [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/loading.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/port_down.png [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/port_down.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/port_up.png [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/port_up.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/signal-0-25.png [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/signal-0.png [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/signal-000-000.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/signal-000-025.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/signal-025-050.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/signal-050-075.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/signal-075-100.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/signal-25-50.png [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/signal-50-75.png [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/signal-75-100.png [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/signal-none.png [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/signal-none.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/switch.png [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/switch.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/switch_disabled.png [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/switch_disabled.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/tunnel.png [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/tunnel.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/tunnel_disabled.png [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/tunnel_disabled.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/vlan.png [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/vlan.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/vlan_disabled.png [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/vlan_disabled.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/wifi.png [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/wifi.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/wifi_disabled.png [deleted file]
modules/luci-base/htdocs/luci-static/resources/icons/wifi_disabled.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/icons/wireguard.svg [new file with mode: 0644]
modules/luci-base/htdocs/luci-static/resources/tools/widgets.js
modules/luci-base/htdocs/luci-static/resources/ui.js
modules/luci-base/ucode/template/sysauth.ut
modules/luci-compat/luasrc/view/cbi/firewall_zonelist.htm
modules/luci-compat/luasrc/view/cbi/network_ifacelist.htm
modules/luci-compat/luasrc/view/cbi/network_netinfo.htm
modules/luci-compat/luasrc/view/cbi/network_netlist.htm
modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js
modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js
modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js
modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js
modules/luci-mod-status/htdocs/luci-static/resources/view/status/channel_analysis.js
modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/29_ports.js
modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js
modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js
protocols/luci-proto-wireguard/htdocs/luci-static/resources/view/wireguard/status.js
themes/luci-theme-bootstrap/htdocs/luci-static/bootstrap/cascade.css
themes/luci-theme-material/htdocs/luci-static/material/cascade.css
themes/luci-theme-openwrt-2020/htdocs/luci-static/openwrt2020/cascade.css
themes/luci-theme-openwrt/htdocs/luci-static/openwrt.org/cascade.css

index ccc80163cabf909b479f45b3790c3375af642fce..da646baaf7e6df2d7ca01902557551e68336cd55 100644 (file)
@@ -26,7 +26,7 @@ return view.extend({
 
                var log_textarea = E('div', { 'id': 'log_textarea' },
                        E('img', {
-                               'src': L.resource('icons/loading.gif'),
+                               'src': L.resource('icons/loading.svg'),
                                'alt': _('Loading...'),
                                'style': 'vertical-align:middle'
                        }, _('Collecting data...'))
index c1f0856576159fa0b6a9fd71c6a27d4e6193878f..4a93e2bd4cc5c25734049902f2406aa9d5655ba3 100644 (file)
@@ -45,7 +45,7 @@ return view.extend({
        render: function() {
                var log_textarea = E('div', { 'id': 'log_textarea' },
                        E('img', {
-                               'src': L.resource('icons/loading.gif'),
+                               'src': L.resource('icons/loading.svg'),
                                'alt': _('Loading'),
                                'style': 'vertical-align:middle'
                        }, _('Collecting data...'))
index 9b99cdd32523ba9ab376e051d322af49098cbda2..1c8d3a9cd8ffacc79eeb270fc5991adeb125976b 100644 (file)
@@ -52,8 +52,8 @@
 
 <script>
                new TablePooler(5,"/cgi-bin/bmx7-info", {'tunnels':''}, "tunnels_div", function(st){
-        var tunicon = "<%=resource%>/icons/tunnel.png";
-        var tunicon_dis = "<%=resource%>/icons/tunnel_disabled.png";
+        var tunicon = "<%=resource%>/icons/tunnel.svg";
+        var tunicon_dis = "<%=resource%>/icons/tunnel_disabled.svg";
         var applyicon = "<%=resource%>/cbi/apply.gif";
                    var res = Array();
         for ( var k in st.tunnels ) {
index 4e831504dff49d8eaa2126ee586a812acc986eb5..5191e4b953dbce2b90aacea32055d2a53a3926c1 100644 (file)
@@ -38,7 +38,7 @@
                if (legend && output)
                {
                        output.innerHTML =
-                               '<img src="{{ resource }}/icons/loading.gif" alt="{{ _('Loading') }}" style="vertical-align:middle" /> ' +
+                               '<img src="{{ resource }}/icons/loading.svg" alt="{{ _('Loading') }}" style="vertical-align:middle" /> ' +
                                _('Waiting for command to complete...')
                        ;
 
index a90c75b074d04b4e8f542d046a075ca2258abb68..756d809e9220cdafef8d22ee23760c85437a23f6 100644 (file)
@@ -89,7 +89,7 @@ $Id$
        var bt_action = document.getElementById('bt_action');
        var a_clear_links = document.getElementById('a_clear_links');
        var output = document.getElementById('cshark-rc-output');
-       var loader = '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" width="16" height="16" style="vertical-align:middle" /> ';
+       var loader = '<img src="<%=resource%>/icons/loading.svg" alt="<%:Loading%>" width="16" height="16" style="vertical-align:middle" /> ';
        var msg = { 'start' : '<%:Waiting for capture to complete...%>', 'stop' : '<%:Waiting for upload to complete...%>' };
        var status_msg = msg['start'];
 
index e0aa3aae8fa88ad3c6a93b95f26f936abb91e743..b9ae1c6bdca366d0a082272a420c1dece1578d19 100644 (file)
 
                        docker_status_message(
                                'notice',
-                               '<img src="<%=resource%>/icons/loading.gif" alt="" style="vertical-align:middle" /> <span style="white-space:pre-line; word-break:break-all; font-family: \'Courier New\', Courier, monospace;">' + loading_msg + '</span>'
+                               '<img src="<%=resource%>/icons/loading.svg" alt="" style="vertical-align:middle" /> <span style="white-space:pre-line; word-break:break-all; font-family: \'Courier New\', Courier, monospace;">' + loading_msg + '</span>'
                        );
 
                        tt = window.setTimeout(tick, 200);
index e5d261c6e8a0ea190a410e15cc0dde44b28629ac..390631e4afd260846dcd75332401938c72806c68 100644 (file)
@@ -69,7 +69,7 @@ local target = nx.uname().machine
        window.states = { "STOPPED" : "red", "RUNNING" : "green", "FROZEN" : "purple" };
 
        var t_lxc_list  = document.getElementById('t_lxc_list');
-       var loader_html = '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" width="16" height="16" style="vertical-align:middle" />';
+       var loader_html = '<img src="<%=resource%>/icons/loading.svg" alt="<%:Loading%>" width="16" height="16" style="vertical-align:middle" />';
        var output_list = document.getElementById("lxc-list-output");
        var output_add  = document.getElementById("lxc-add-output");
        var loader_add  = document.getElementById("lxc-add-loader");
index d6a4cf03f5cc08b503ca304a4dcbdfff73dd6f09..f0f3ed77b64eac44833adf7bd63faf8a152464c0 100644 (file)
@@ -58,7 +58,7 @@ var CBIBindSelect = form.ListValue.extend({
                        var item = E([
                                E('img', {
                                        'title': device.getI18n(),
-                                       'src': L.resource('icons/%s%s.png'.format(type, device.isUp() ? '' : '_disabled'))
+                                       'src': L.resource('icons/%s%s.svg'.format(type, device.isUp() ? '' : '_disabled'))
                                }),
                                E('span', { 'class': 'hide-open' }, [ name ]),
                                E('span', { 'class': 'hide-close'}, [ device.getI18n() ])
@@ -91,7 +91,7 @@ var CBIBindSelect = form.ListValue.extend({
                                var item = E([
                                        E('img', {
                                                'title': device.getI18n(),
-                                               'src': L.resource('icons/alias%s.png'.format(net.isUp() ? '' : '_disabled'))
+                                               'src': L.resource('icons/alias%s.svg'.format(net.isUp() ? '' : '_disabled'))
                                        }),
                                        E('span', { 'class': 'hide-open' }, [ name ]),
                                        E('span', { 'class': 'hide-close'}, [ device.getI18n() ])
@@ -115,7 +115,7 @@ var CBIBindSelect = form.ListValue.extend({
                                choices[keys[i]] = E([
                                        E('img', {
                                                'title': _('Absent Interface'),
-                                               'src': L.resource('icons/ethernet_disabled.png')
+                                               'src': L.resource('icons/ethernet_disabled.svg')
                                        }),
                                        E('span', { 'class': 'hide-open' }, [ keys[i] ]),
                                        E('span', { 'class': 'hide-close'}, [ '%s: "%h"'.format(_('Absent Interface'), keys[i]) ])
index 9422c133feb09458db01f6f5dfc24342d829a51e..543d0889f48bc114d0574732979cafa63525e86b 100644 (file)
@@ -24,7 +24,7 @@ return view.extend({
 
                var log_textarea = E('div', { 'id': 'log_textarea' },
                        E('img', {
-                               'src': L.resource('icons/loading.gif'),
+                               'src': L.resource('icons/loading.svg'),
                                'alt': _('Loading…'),
                                'style': 'vertical-align:middle'
                        }, _('Collecting data…'))
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/alias.png b/modules/luci-base/htdocs/luci-static/resources/icons/alias.png
deleted file mode 100644 (file)
index 94d556a..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/alias.png and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/alias.svg b/modules/luci-base/htdocs/luci-static/resources/icons/alias.svg
new file mode 100644 (file)
index 0000000..603d252
--- /dev/null
@@ -0,0 +1 @@
+<svg width="32" height="32" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient id="linearGradient7887" x1="-7.975" x2="-11.01" y1="25.36" y2="-6.568" gradientTransform="matrix(2 0 0 1.933 43.5 .5333)" gradientUnits="userSpaceOnUse"><stop stop-color="#d3d7cf" offset="0"/><stop stop-color="#fff" offset="1"/></linearGradient><linearGradient id="linearGradient7889" x1="-7.852" x2="-5.51" y1="3.755" y2="18.94" gradientUnits="userSpaceOnUse"><stop stop-color="#fff" offset="0"/><stop stop-color="#fff" stop-opacity="0" offset="1"/></linearGradient><filter id="filter5386" x="-.01972" y="-.02176" width="1.039" height="1.044" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation="0.26293105"/></filter><linearGradient id="linearGradient7893" x1="1.626" x2=".8221" y1="55.22" y2="54.42" gradientUnits="userSpaceOnUse"><stop stop-color="#adb0a8" offset="0"/><stop stop-color="#fff" offset="1"/></linearGradient><linearGradient id="linearGradient7895" x1="-4.221" x2="-4.221" y1="59.88" y2="54.71" gradientTransform="matrix(.9643 0 0 .9722 -.25 1.694)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient7269-5"/><linearGradient id="linearGradient7269-5"><stop stop-color="#fff" offset="0"/><stop stop-color="#d3d7cf" offset="1"/></linearGradient><linearGradient id="linearGradient7897" x1="-1.989" x2="-3.359" y1="51.14" y2="54" gradientTransform="translate(-4,-24)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient7822-4"/><linearGradient id="linearGradient7822-4"><stop offset="0"/><stop stop-opacity="0" offset="1"/></linearGradient><linearGradient id="linearGradient7899" x1="-4.685" x2=".8839" y1="52.64" y2="50.56" gradientTransform="translate(-4,-24)" gradientUnits="userSpaceOnUse"><stop stop-color="#eeeeec" offset="0"/><stop stop-color="#babdb6" offset="1"/></linearGradient><linearGradient id="linearGradient7901" x1="-5.082" x2=".2652" y1="50.52" y2="49.46" gradientTransform="translate(-4,-24)" gradientUnits="userSpaceOnUse"><stop stop-color="#eeeeec" offset="0"/><stop stop-color="#fff" offset="1"/></linearGradient><linearGradient id="linearGradient7903" x1="-5.969" x2="-5.969" y1="52.88" y2="51.81" gradientTransform="translate(-4,-24)" gradientUnits="userSpaceOnUse"><stop stop-color="#888a85" offset="0"/><stop stop-color="#fff" offset="1"/></linearGradient><linearGradient id="linearGradient7905" x1="-3.536" x2="-3.536" y1="55.87" y2="59.44" gradientTransform="matrix(1 0 0 1.029 -4 -25.14)" gradientUnits="userSpaceOnUse"><stop stop-color="#555753" offset="0"/><stop stop-color="#d3d7cf" offset="1"/></linearGradient><linearGradient id="linearGradient7921" x1="17.94" x2="23.28" y1="42.91" y2="43.08" gradientUnits="userSpaceOnUse"><stop stop-color="#729fcf" offset="0"/><stop stop-color="#729fcf" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="linearGradient7923" x1="17.83" x2="28.36" y1="40.38" y2="40.87" gradientUnits="userSpaceOnUse"><stop stop-color="#3465a4" offset="0"/><stop stop-color="#3465a4" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="linearGradient7927" x1="-4.11" x2="-4.11" y1="58.81" y2="55" gradientTransform="matrix(1.125 0 0 1.167 15.88 -34.14)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient7269-5"/><linearGradient id="linearGradient7929" x1="-6.406" x2="-7.781" y1="32.44" y2="34.56" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient7822-4"/></defs><clipPath id="b"><rect x="68.78" y="-.0933" width="58.26" height="58.26" rx="2.648"/></clipPath><filter id="c" x="-.021" y="-.021" width="1.042" height="1.042" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation=".28282197"/></filter><clipPath id="h"><path d="m-6.562 24.53c-0.3877 0-0.6917 0.219-0.9062 0.469l-0.031-0.03-0.031 0.06-0.3438 0.313-4.25 1.218c-0.03 0-0.06 0.02-0.09 0.03-0.549 0.274-0.902 0.554-1.094 0.937-0.192 0.384-0.116 0.867 0.125 1.156 0.329 0.394 0.858 0.553 1.407 0.657l-0.407 0.437c-0.06 0.05-0.1 0.116-0.125 0.188-0.03 0.121-0.07 0.316-0.125 0.5-0.02 0.04-0.03 0.08-0.03 0.125v6.656c0 0.299 0.113 0.582 0.313 0.813 0.199 0.23 0.511 0.406 0.875 0.406h7.843c0.3236 0 0.6569-0.116 0.9063-0.375l4.651-4.81c0.2259-0.235 0.3437-0.539 0.3437-0.875v-6.625c0-0.335-0.1178-0.64-0.3437-0.875-0.2227-0.229-0.5504-0.375-0.874-0.375z"/></clipPath><filter id="i" x="-.03844" y="-.04352" width="1.077" height="1.087" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation=".1491362"/></filter><filter id="p" x="-.02026" y="-.02354" width="1.04" height="1.047" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation=".071069152"/></filter><filter id="x" x="-.03625" y="-.04222" width="1.071" height="1.083" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation=".16679387"/></filter><clipPath id="A"><path d="m-95.3 143.8s-4.189 3.27-8.1 6.5c-1.95 1.62-3.69 3.22-4.72 4.78-0.51 0.78-0.98 1.62-0.65 2.78 0.16 0.58 0.61 1.12 1.09 1.41 0.48 0.28 0.96 0.4 1.5 0.47 2.13 0.24 4.73-0.4 7.849-1.28 3.113-0.89 6.669-2.09 10.25-3.25 3.581-1.17 7.196-2.31 10.34-3 3.147-0.7 5.835-0.89 7.375-0.5 0.729 0.18 0.745 0.3 0.75 0.31 0 0 0.06 0.33-0.219 0.94-0.567 1.2-2.245 3.11-4.187 4.93-3.885 3.64-8.844 7.13-8.844 7.13l1.75 2.44s5.041-3.52 9.156-7.38c2.058-1.93 3.879-3.89 4.813-5.87 0.466-1 0.776-2.12 0.343-3.25-0.433-1.14-1.541-1.87-2.812-2.19-2.46-0.62-5.444-0.21-8.781 0.53-3.337 0.73-7.019 1.85-10.62 3.03-3.607 1.18-7.129 2.4-10.12 3.25-2.913 0.83-5.293 1.22-6.473 1.13 0.62-0.95 2.3-2.56 4.16-4.1 3.721-3.08 7.969-6.37 7.969-6.37z"/></clipPath><mask id="B" maskUnits="userSpaceOnUse"><rect x="-115.6" y="147" width="51.28" height="17.34" rx=".6657" fill="url(#C)" fill-rule="evenodd" stroke-width="2"/></mask><linearGradient id="C" x1="-112.3" x2="-112.3" y1="148.9" y2="164.5" gradientUnits="userSpaceOnUse"><stop offset="0"/><stop stop-color="#fff" offset=".2177"/><stop stop-color="#fff" offset=".7659"/><stop offset="1"/></linearGradient><filter id="D" x="-.0125" y="-.04971" width="1.026" height="1.099" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation="0.001 0.244"/></filter><filter id="H" x="-.395" y="-.5737" width="1.79" height="2.147" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation="2.8946329"/></filter><g transform="matrix(1.297 0 0 1.297 -13.6 -.805)" enable-background="new"><g enable-background="new"><rect x="14.5" y="1.5" width="32" height="29" rx="2.877" ry="2.781" fill="url(#linearGradient7887)" fill-rule="evenodd" stroke="#888a85" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9924"/><path transform="matrix(2.143 0 0 2.087 44.43 -.6302)" d="m-12.5 1.498c-0.573 0-1.002 0.429-1.002 1.002v11c0 0.573 0.429 1.002 1.002 1.002h12c0.573 0 1.002-0.429 1.002-1.002v-11c0-0.573-0.429-1.002-1.002-1.002z" fill="none" stroke="url(#linearGradient7889)" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9924" stroke-width=".4729"/><rect transform="matrix(1.016 0 0 1.016 -.49 -.2715)" x="15.38" y="2.875" width="32" height="29" rx="3.723" ry="3.723" fill-rule="evenodd" filter="url(#filter5386)" opacity=".1205"/></g><g transform="translate(14.11 -13.86)"><g transform="translate(20)"><g transform="matrix(1.167 0 0 1.2 -3.833 -36.2)" fill-rule="evenodd"><path d="m-2.344 51c-0.2048 0-0.3812 0.101-0.5 0.25l-4.016 4c-0.035 0.132-0.099 0.271-0.1406 0.406v5.521c0 0.364 0.2965 0.656 0.6563 0.656h6.687c0.1799 0 0.3514-0.07 0.4688-0.187l4-4c0.1174-0.119 0.1875-0.287 0.1875-0.469v-5.521c0-0.182-0.0701-0.35-0.1875-0.468-0.1191-0.119-0.2889-0.188-0.4688-0.188z" fill="url(#linearGradient7893)"/><path d="m-6.374 55.17h6.462c0.3469 0 0.6262 0.284 0.6262 0.638v5.39c0 0.354-0.2793 0.638-0.6262 0.638h-6.462c-0.3468 0-0.6261-0.284-0.6261-0.638v-5.39c0-0.354 0.2793-0.638 0.6261-0.638z" fill="url(#linearGradient7895)"/></g><path d="m-5 25-5 5h4l5-5h-4" fill="url(#linearGradient7897)" fill-rule="evenodd" opacity=".1231"/><path d="m-1 25-9.5 4h3.5l5-3 1-1" fill="#babdb6" fill-rule="evenodd"/><path d="m-6.562 25.5c-0.024 0-0.055 0-0.1562 0.125-0.03 0.02-0.061 0.04-0.094 0.06-0.02 0.02-0.041 0.04-0.062 0.06-0.02 0.02-0.041 0.04-0.062 0.06h-0.031c-0.02 0.02-0.041 0.04-0.062 0.06l-0.1875 0.187c-0.1069 0.101-0.2351 0.176-0.375 0.219l-4.252 1.229c-0.4 0.208-0.534 0.349-0.594 0.469 0 0 0.04 0.134 0 0.09 0.08 0.1 0.361 0.253 0.844 0.344 0.34 0.07 0.617 0.314 0.727 0.643s0.04 0.692-0.196 0.951l-0.343 0.375c-0.02 0.09-0.05 0.17-0.09 0.312v0.06 6.5c0 0.05 0 0.116 0.06 0.188 0.03 0.04 0.104 0.06 0.157 0.06h7.844c0.093 0 0.1684-0.01 0.2188-0.06-2e-4 -0.01-2e-4 -0.02 0-0.03l4.654-4.808c0.0522-0.054 0.0625-0.079 0.0625-0.188v-6.625c0-0.108-0.01-0.164-0.062-0.219-0.0373-0.037-0.1555-0.062-0.188-0.062z" fill="none" opacity=".5336" stroke="#fff" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round"/><path d="m-6.562 24.53c-0.3877 0-0.6917 0.219-0.9062 0.469l-0.031-0.03-0.031 0.06-0.3438 0.313-4.25 1.218c-0.03 0-0.06 0.02-0.09 0.03-0.549 0.274-0.902 0.554-1.094 0.937-0.192 0.384-0.116 0.867 0.125 1.156 0.329 0.394 0.858 0.553 1.407 0.657l-0.407 0.437c-0.06 0.05-0.1 0.116-0.125 0.188-0.03 0.121-0.07 0.316-0.125 0.5-0.02 0.04-0.03 0.08-0.03 0.125v6.656c0 0.299 0.113 0.582 0.313 0.813 0.199 0.23 0.511 0.406 0.875 0.406h7.843c0.3236 0 0.6569-0.116 0.9063-0.375l4.651-4.81c0.2259-0.235 0.3437-0.539 0.3437-0.875v-6.625c0-0.335-0.1178-0.64-0.3437-0.875-0.2227-0.229-0.5504-0.375-0.874-0.375z" fill="none" stroke="#555753" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round"/><g fill-rule="evenodd"><path d="m-1 25-11 2.5 2 1.5h3l5-3 1-1" fill="url(#linearGradient7899)"/><path d="m-5 25-7 2h4l7-2h-4" fill="url(#linearGradient7901)"/><path d="m-12 27h4c-2 1-0.5 2 1 2h-4c-1.5 0-3-1-1-2z" fill="url(#linearGradient7903)"/><path d="m-9.594 32h4.188c0.2248 0 0.4058 0.195 0.4058 0.438v3.125c0 0.242-0.181 0.437-0.4058 0.437h-4.188c-0.2248 0-0.4058-0.195-0.4058-0.437v-3.125c0-0.243 0.181-0.438 0.4058-0.438z" fill="url(#linearGradient7905)"/></g></g><path d="m14.69 30.56s-4.19 3.268-8.094 6.501c-1.952 1.616-15.7 15.22-16.72 16.78-0.511 0.78-0.987 1.623-0.656 2.781 0.165 0.579 0.608 1.686 1.093 1.406 1.832-1.057 1.547-1.056 2.929-2.438 0.6199-0.948 13.43-14.68 15.29-16.22 3.721-3.08 7.969-6.375 7.969-6.375z" fill="url(#linearGradient7921)" fill-rule="evenodd" stroke="url(#linearGradient7923)" stroke-linejoin="round"/><path d="m15.67 31.27s-18.44 12.69-11.94 13.44c6.5 0.75-14.09 7.825-6.088 9.825" fill="none" opacity=".1903" stroke-opacity="0"/><path d="m10.09 30.03 0.317 2h4.188c0.225 0 0.406 0.195 0.406 0.438v3.125l2-0.313v-4.469c0-0.424-0.314-0.781-0.719-0.781z" fill="url(#linearGradient7927)" fill-rule="evenodd"/><path transform="translate(20)" d="m-9.594 32h4.188c0.2248 0 0.4058 0.195 0.4058 0.438v3.125c0 0.242-0.181 0.437-0.4058 0.437h-4.188c-0.2248 0-0.4058-0.195-0.4058-0.437v-3.125c0-0.243 0.181-0.438 0.4058-0.438z" fill="url(#linearGradient7929)" fill-rule="evenodd" opacity=".3545"/></g></g><text x="16.86" y="45.036" fill="#ff00ff" font-family="sans-serif" font-size="30.72px" stroke-width=".7679"><tspan x="16.86" y="45.036" stroke-width=".7679">@</tspan></text></svg>
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/alias_disabled.png b/modules/luci-base/htdocs/luci-static/resources/icons/alias_disabled.png
deleted file mode 100644 (file)
index 48c4116..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/alias_disabled.png and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/alias_disabled.svg b/modules/luci-base/htdocs/luci-static/resources/icons/alias_disabled.svg
new file mode 100644 (file)
index 0000000..934b6d0
--- /dev/null
@@ -0,0 +1 @@
+<svg width="32" height="32" viewBox="0 0 29.1 29.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient id="c"><stop stop-color="#fff" offset="0"/><stop stop-color="#fff" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="a"><stop stop-color="#edd400" offset="0"/><stop stop-color="#edd400" stop-opacity="0" offset="1"/></linearGradient><filter id="filter5386" x="-.01972" y="-.02176" width="1.039" height="1.044" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation="0.26293105"/></filter><linearGradient id="linearGradient7887" x1="-7.975" x2="-11.01" y1="25.36" y2="-6.568" gradientTransform="matrix(2 0 0 1.933 43.5 .5333)" gradientUnits="userSpaceOnUse"><stop stop-color="#d3d7cf" offset="0"/><stop stop-color="#fff" offset="1"/></linearGradient><linearGradient id="linearGradient7889" x1="-7.852" x2="-5.51" y1="3.755" y2="18.94" gradientUnits="userSpaceOnUse" xlink:href="#c"/><linearGradient id="linearGradient7907" x1="32.81" x2="32.81" y1="21" y2="26.2" gradientTransform="matrix(1.088,0,0,1.086,-1.581,-8.943)" gradientUnits="userSpaceOnUse"><stop stop-color="#2e3436" offset="0"/><stop stop-color="#555753" offset="1"/></linearGradient><linearGradient id="linearGradient7909" x1="28.88" x2="29" y1="29" y2="16" gradientTransform="translate(1,-7)" gradientUnits="userSpaceOnUse" xlink:href="#c"/><linearGradient id="linearGradient7919" x1="30.31" x2="30.31" y1="27.31" y2="24.69" gradientUnits="userSpaceOnUse" xlink:href="#a"/></defs><g transform="matrix(.9999 0 0 .9999 -8.925 -7.411)" enable-background="new"><rect transform="matrix(1.016 0 0 1.016 -.4902 -.2715)" x="15.38" y="2.875" width="32" height="29" rx="3.723" ry="3.723" display="none" fill-rule="evenodd" filter="url(#filter5386)" opacity=".1205"/><g transform="matrix(.8609 0 0 .8609 -2.741 7.746)"><rect x="14.5" y="1.5" width="32" height="29" rx="2.877" ry="2.781" fill="url(#linearGradient7887)" fill-rule="evenodd" stroke="#888a85" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9924"/><path transform="matrix(2.143 0 0 2.087 44.43 -.6302)" d="m-12.5 1.498c-0.573 0-1.002 0.429-1.002 1.002v11c0 0.573 0.429 1.002 1.002 1.002h12c0.573 0 1.002-0.429 1.002-1.002v-11c0-0.573-0.429-1.002-1.002-1.002z" fill="none" stroke="url(#linearGradient7889)" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9924" stroke-width=".4729"/><path d="m29.48 10.07c-0.639 0-1.155 0.516-1.155 1.154v0.288c0 0.293-0.229 0.543-0.544 0.543h-1.563c-0.639 0-1.155 0.704-1.155 1.342v6.445c0 0.638 0.516 1.154 1.155 1.154h8.564c0.639 0 1.155-0.516 1.155-1.154v-6.445c0-0.638-0.516-1.342-1.155-1.342h-1.563c-0.262 0.02-0.544-0.186-0.544-0.526v-0.305c0-0.638-0.516-1.154-1.155-1.154z" fill="url(#linearGradient7907)" fill-rule="evenodd"/><path d="m29.56 9.438c-1.109 0-1.984 0.909-2.062 2h-0.938c-1.159 0-2.125 0.965-2.125 2.125v5.874c0 1.16 0.966 2.125 2.125 2.125h7.876c1.159 0 2.125-0.965 2.125-2.125v-5.874c0-1.16-0.966-2.125-2.125-2.125h-0.938c-0.08-1.092-0.953-2-2.063-2z" fill="none" stroke="url(#linearGradient7909)" stroke-dashoffset=".7" stroke-linecap="round"/><g transform="translate(1,-8)" fill="none" stroke="url(#linearGradient7919)" stroke-linecap="round" stroke-width="1px"><path d="m26.5 26.5v-2"/><path d="m28.5 26.5v-2"/><path d="m30.5 26.5v-2"/><path d="m32.5 26.5v-2"/></g></g></g><text transform="translate(-96.22 -126.5)" x="100.26" y="142.24" fill="#f0f" font-family="sans-serif" font-size="14.01" stroke-width=".35"><tspan x="100.26" y="142.24">@</tspan></text></svg>
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/bridge.png b/modules/luci-base/htdocs/luci-static/resources/icons/bridge.png
deleted file mode 100644 (file)
index beec3ca..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/bridge.png and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/bridge.svg b/modules/luci-base/htdocs/luci-static/resources/icons/bridge.svg
new file mode 100644 (file)
index 0000000..64119ff
--- /dev/null
@@ -0,0 +1,2 @@
+<svg width="31.15" height="13.79" viewBox="0 -35.58 119.6 70.61" xmlns="http://www.w3.org/2000/svg"><path d="m1.003-30.84c.74-6.538 10.2-6.1 10.2 0v1.379c6.867 14.74 19.73 22.89 33.83 25.93 7.348 1.597 15.04 1.802 22.42.861 7.359-.943 14.38-3.045 20.38-6.088 9.346-4.736 16.23-11.72 18.06-20.1v-1.98c.74-6.538 10.2-6.1 10.2 0v3.277c2.83 5.868 6.71 10.56 11.07 14.34 3.72 3.234 7.79 5.841 11.87 7.957v4.067c-1.51-.751-3.03-1.542-4.52-2.416v12.42h4.52v6.265h-22.94v19.96h-10.2v-19.97h-94.68v19.96h-10.2v-19.96h-21.48v-6.265h3.778v-12.83c-1.247.751-2.519 1.448-3.778 2.116v-4.109c3.57-1.979 7.101-4.326 10.35-7.179 4.4-3.876 8.294-8.681 11.14-14.73zm65.14 32.01v7.63h-3.492v-7.342c-2.647.149-5.308.149-7.982 0v7.342h-3.492v-7.643c-2.298-.246-4.582-.614-6.841-1.106-.415-.097-.83-.177-1.233-.287v9.023h-3.492v-9.964c-2.739-.818-5.4-1.843-7.982-3.071v13.04h-3.492v-14.84c-2.856-1.624-5.57-3.535-8.074-5.732v20.58h-3.492v-23.97c-1.961-2.101-3.764-4.423-5.375-6.961v30.94h94.7v-28.59c-1.4 2.265-3.12 4.381-5.14 6.346v22.23h-3.499v-19.22c-2.385 1.842-5.046 3.507-7.902 4.954l-.168.08v14.18h-3.492v-12.56c-2.545 1.078-5.218 2.006-7.984 2.77v9.8h-3.491v-8.927c-2.077.464-4.206.833-6.348 1.106-.571.05-1.142.123-1.727.177zm58.61-11.72v19.37h6.27v-14.59c-2.09-1.378-4.13-2.921-6.09-4.627zm-3.49 19.37v-22.74c-1.86-1.979-3.6-4.135-5.17-6.524v29.25h5.17zm-124.7-23.64v23.64h4.465v-29.51c-1.363 2.13-2.869 4.067-4.465 5.869zm-3.492 23.64v-20.08c-.3114.287-.6361.587-.9598.86-1.7 1.501-3.479 2.88-5.297 4.136v15.08z" fill="#4242ff" stroke-width="1.331"/></svg>
+<!-- https://www.svgrepo.com/svg/490584/bridge PD License -->
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/bridge_disabled.png b/modules/luci-base/htdocs/luci-static/resources/icons/bridge_disabled.png
deleted file mode 100644 (file)
index dce152a..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/bridge_disabled.png and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/bridge_disabled.svg b/modules/luci-base/htdocs/luci-static/resources/icons/bridge_disabled.svg
new file mode 100644 (file)
index 0000000..df2277a
--- /dev/null
@@ -0,0 +1,2 @@
+<svg width="31.15" height="13.79" viewBox="0 -35.58 119.6 70.61" xmlns="http://www.w3.org/2000/svg"><path d="m1.003-30.84c.74-6.538 10.2-6.1 10.2 0v1.379c6.867 14.74 19.73 22.89 33.83 25.93 7.348 1.597 15.04 1.802 22.42.861 7.359-.943 14.38-3.045 20.38-6.088 9.346-4.736 16.23-11.72 18.06-20.1v-1.98c.74-6.538 10.2-6.1 10.2 0v3.277c2.83 5.868 6.71 10.56 11.07 14.34 3.72 3.234 7.79 5.841 11.87 7.957v4.067c-1.51-.751-3.03-1.542-4.52-2.416v12.42h4.52v6.265h-22.94v19.96h-10.2v-19.97h-94.68v19.96h-10.2v-19.96h-21.48v-6.265h3.778v-12.83c-1.247.751-2.519 1.448-3.778 2.116v-4.109c3.57-1.979 7.101-4.326 10.35-7.179 4.4-3.876 8.294-8.681 11.14-14.73zm65.14 32.01v7.63h-3.492v-7.342c-2.647.149-5.308.149-7.982 0v7.342h-3.492v-7.643c-2.298-.246-4.582-.614-6.841-1.106-.415-.097-.83-.177-1.233-.287v9.023h-3.492v-9.964c-2.739-.818-5.4-1.843-7.982-3.071v13.04h-3.492v-14.84c-2.856-1.624-5.57-3.535-8.074-5.732v20.58h-3.492v-23.97c-1.961-2.101-3.764-4.423-5.375-6.961v30.94h94.7v-28.59c-1.4 2.265-3.12 4.381-5.14 6.346v22.23h-3.499v-19.22c-2.385 1.842-5.046 3.507-7.902 4.954l-.168.08v14.18h-3.492v-12.56c-2.545 1.078-5.218 2.006-7.984 2.77v9.8h-3.491v-8.927c-2.077.464-4.206.833-6.348 1.106-.571.05-1.142.123-1.727.177zm58.61-11.72v19.37h6.27v-14.59c-2.09-1.378-4.13-2.921-6.09-4.627zm-3.49 19.37v-22.74c-1.86-1.979-3.6-4.135-5.17-6.524v29.25h5.17zm-124.7-23.64v23.64h4.465v-29.51c-1.363 2.13-2.869 4.067-4.465 5.869zm-3.492 23.64v-20.08c-.3114.287-.6361.587-.9598.86-1.7 1.501-3.479 2.88-5.297 4.136v15.08z" fill="#999" stroke-width="1.331"/></svg>
+<!-- https://www.svgrepo.com/svg/490584/bridge PD License -->
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/ethernet.png b/modules/luci-base/htdocs/luci-static/resources/icons/ethernet.png
deleted file mode 100644 (file)
index e7d3750..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/ethernet.png and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/ethernet.svg b/modules/luci-base/htdocs/luci-static/resources/icons/ethernet.svg
new file mode 100644 (file)
index 0000000..b33b20d
--- /dev/null
@@ -0,0 +1 @@
+<svg width="36.95" height="37.85" viewBox="0 0 36.95 37.85" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient id="linearGradient7822-4"><stop offset="0"/><stop stop-opacity="0" offset="1"/></linearGradient><filter id="filter5386" x="-.01972" y="-.02176" width="1.039" height="1.044" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation="0.26293105"/></filter><linearGradient id="linearGradient7887" x1="-7.975" x2="-11.01" y1="25.36" y2="-6.568" gradientTransform="matrix(2 0 0 1.933 43.5 .5333)" gradientUnits="userSpaceOnUse"><stop stop-color="#d3d7cf" offset="0"/><stop stop-color="#fff" offset="1"/></linearGradient><linearGradient id="linearGradient7889" x1="-7.852" x2="-5.51" y1="3.755" y2="18.94" gradientUnits="userSpaceOnUse"><stop stop-color="#fff" offset="0"/><stop stop-color="#fff" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="linearGradient7893" x1="1.626" x2=".8221" y1="55.22" y2="54.42" gradientUnits="userSpaceOnUse"><stop stop-color="#adb0a8" offset="0"/><stop stop-color="#fff" offset="1"/></linearGradient><linearGradient id="linearGradient7895" x1="-4.221" x2="-4.221" y1="59.88" y2="54.71" gradientTransform="matrix(.9643 0 0 .9722 -.25 1.694)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient7269-5"/><linearGradient id="linearGradient7269-5"><stop stop-color="#fff" offset="0"/><stop stop-color="#d3d7cf" offset="1"/></linearGradient><linearGradient id="linearGradient7897" x1="-1.989" x2="-3.359" y1="51.14" y2="54" gradientTransform="translate(-4,-24)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient7822-4"/><linearGradient id="linearGradient7899" x1="-4.685" x2=".8839" y1="52.64" y2="50.56" gradientTransform="translate(-4,-24)" gradientUnits="userSpaceOnUse"><stop stop-color="#eeeeec" offset="0"/><stop stop-color="#babdb6" offset="1"/></linearGradient><linearGradient id="linearGradient7901" x1="-5.082" x2=".2652" y1="50.52" y2="49.46" gradientTransform="translate(-4,-24)" gradientUnits="userSpaceOnUse"><stop stop-color="#eeeeec" offset="0"/><stop stop-color="#fff" offset="1"/></linearGradient><linearGradient id="linearGradient7903" x1="-5.969" x2="-5.969" y1="52.88" y2="51.81" gradientTransform="translate(-4,-24)" gradientUnits="userSpaceOnUse"><stop stop-color="#888a85" offset="0"/><stop stop-color="#fff" offset="1"/></linearGradient><linearGradient id="linearGradient7905" x1="-3.536" x2="-3.536" y1="55.87" y2="59.44" gradientTransform="matrix(1 0 0 1.029 -4 -25.14)" gradientUnits="userSpaceOnUse"><stop stop-color="#555753" offset="0"/><stop stop-color="#d3d7cf" offset="1"/></linearGradient><linearGradient id="linearGradient7921" x1="17.94" x2="23.28" y1="42.91" y2="43.08" gradientUnits="userSpaceOnUse"><stop stop-color="#729fcf" offset="0"/><stop stop-color="#729fcf" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="linearGradient7923" x1="17.83" x2="28.36" y1="40.38" y2="40.87" gradientUnits="userSpaceOnUse"><stop stop-color="#3465a4" offset="0"/><stop stop-color="#3465a4" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="linearGradient7927" x1="-4.11" x2="-4.11" y1="58.81" y2="55" gradientTransform="matrix(1.125 0 0 1.167 15.88 -34.14)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient7269-5"/><linearGradient id="linearGradient7929" x1="-6.406" x2="-7.781" y1="32.44" y2="34.56" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient7822-4"/></defs><clipPath id="b"><rect x="68.78" y="-.0933" width="58.26" height="58.26" rx="2.648"/></clipPath><filter id="c" x="-.021" y="-.021" width="1.042" height="1.042" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation=".28282197"/></filter><clipPath id="h"><path d="m-6.562 24.53c-0.3877 0-0.6917 0.219-0.9062 0.469l-0.031-0.03-0.031 0.06-0.3438 0.313-4.25 1.218c-0.03 0-0.06 0.02-0.09 0.03-0.549 0.274-0.902 0.554-1.094 0.937-0.192 0.384-0.116 0.867 0.125 1.156 0.329 0.394 0.858 0.553 1.407 0.657l-0.407 0.437c-0.06 0.05-0.1 0.116-0.125 0.188-0.03 0.121-0.07 0.316-0.125 0.5-0.02 0.04-0.03 0.08-0.03 0.125v6.656c0 0.299 0.113 0.582 0.313 0.813 0.199 0.23 0.511 0.406 0.875 0.406h7.843c0.3236 0 0.6569-0.116 0.9063-0.375l4.651-4.81c0.2259-0.235 0.3437-0.539 0.3437-0.875v-6.625c0-0.335-0.1178-0.64-0.3437-0.875-0.2227-0.229-0.5504-0.375-0.874-0.375z"/></clipPath><filter id="i" x="-.03844" y="-.04352" width="1.077" height="1.087" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation=".1491362"/></filter><filter id="p" x="-.02026" y="-.02354" width="1.04" height="1.047" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation=".071069152"/></filter><filter id="x" x="-.03625" y="-.04222" width="1.071" height="1.083" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation=".16679387"/></filter><clipPath id="A"><path d="m-95.3 143.8s-4.189 3.27-8.1 6.5c-1.95 1.62-3.69 3.22-4.72 4.78-0.51 0.78-0.98 1.62-0.65 2.78 0.16 0.58 0.61 1.12 1.09 1.41 0.48 0.28 0.96 0.4 1.5 0.47 2.13 0.24 4.73-0.4 7.849-1.28 3.113-0.89 6.669-2.09 10.25-3.25 3.581-1.17 7.196-2.31 10.34-3 3.147-0.7 5.835-0.89 7.375-0.5 0.729 0.18 0.745 0.3 0.75 0.31 0 0 0.06 0.33-0.219 0.94-0.567 1.2-2.245 3.11-4.187 4.93-3.885 3.64-8.844 7.13-8.844 7.13l1.75 2.44s5.041-3.52 9.156-7.38c2.058-1.93 3.879-3.89 4.813-5.87 0.466-1 0.776-2.12 0.343-3.25-0.433-1.14-1.541-1.87-2.812-2.19-2.46-0.62-5.444-0.21-8.781 0.53-3.337 0.73-7.019 1.85-10.62 3.03-3.607 1.18-7.129 2.4-10.12 3.25-2.913 0.83-5.293 1.22-6.473 1.13 0.62-0.95 2.3-2.56 4.16-4.1 3.721-3.08 7.969-6.37 7.969-6.37z"/></clipPath><mask id="B" maskUnits="userSpaceOnUse"><rect x="-115.6" y="147" width="51.28" height="17.34" rx=".6657" fill="url(#C)" fill-rule="evenodd" stroke-width="2"/></mask><linearGradient id="C" x1="-112.3" x2="-112.3" y1="148.9" y2="164.5" gradientUnits="userSpaceOnUse"><stop offset="0"/><stop stop-color="#fff" offset=".2177"/><stop stop-color="#fff" offset=".7659"/><stop offset="1"/></linearGradient><filter id="D" x="-.0125" y="-.04971" width="1.026" height="1.099" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation="0.001 0.244"/></filter><filter id="H" x="-.395" y="-.5737" width="1.79" height="2.147" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation="2.8946329"/></filter><g transform="matrix(1 0 0 1 -10.3 -.8593)" enable-background="new"><g enable-background="new"><rect x="14.5" y="1.5" width="32" height="29" rx="2.877" ry="2.781" fill="url(#linearGradient7887)" fill-rule="evenodd" stroke="#888a85" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9924"/><path transform="matrix(2.143 0 0 2.087 44.43 -.6302)" d="m-12.5 1.498c-0.573 0-1.002 0.429-1.002 1.002v11c0 0.573 0.429 1.002 1.002 1.002h12c0.573 0 1.002-0.429 1.002-1.002v-11c0-0.573-0.429-1.002-1.002-1.002z" fill="none" stroke="url(#linearGradient7889)" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9924" stroke-width=".4729"/><rect transform="matrix(1.016 0 0 1.016 -.49 -.2715)" x="15.38" y="2.875" width="32" height="29" rx="3.723" ry="3.723" fill-rule="evenodd" filter="url(#filter5386)" opacity=".1205"/></g><g transform="translate(14.11 -13.86)"><g transform="translate(20)"><g transform="matrix(1.167 0 0 1.2 -3.833 -36.2)" fill-rule="evenodd"><path d="m-2.344 51c-0.2048 0-0.3812 0.101-0.5 0.25l-4.016 4c-0.035 0.132-0.099 0.271-0.1406 0.406v5.521c0 0.364 0.2965 0.656 0.6563 0.656h6.687c0.1799 0 0.3514-0.07 0.4688-0.187l4-4c0.1174-0.119 0.1875-0.287 0.1875-0.469v-5.521c0-0.182-0.0701-0.35-0.1875-0.468-0.1191-0.119-0.2889-0.188-0.4688-0.188z" fill="url(#linearGradient7893)"/><path d="m-6.374 55.17h6.462c0.3469 0 0.6262 0.284 0.6262 0.638v5.39c0 0.354-0.2793 0.638-0.6262 0.638h-6.462c-0.3468 0-0.6261-0.284-0.6261-0.638v-5.39c0-0.354 0.2793-0.638 0.6261-0.638z" fill="url(#linearGradient7895)"/></g><path d="m-5 25-5 5h4l5-5h-4" fill="url(#linearGradient7897)" fill-rule="evenodd" opacity=".1231"/><path d="m-1 25-9.5 4h3.5l5-3 1-1" fill="#babdb6" fill-rule="evenodd"/><path d="m-6.562 25.5c-0.024 0-0.055 0-0.1562 0.125-0.03 0.02-0.061 0.04-0.094 0.06-0.02 0.02-0.041 0.04-0.062 0.06-0.02 0.02-0.041 0.04-0.062 0.06h-0.031c-0.02 0.02-0.041 0.04-0.062 0.06l-0.1875 0.187c-0.1069 0.101-0.2351 0.176-0.375 0.219l-4.252 1.229c-0.4 0.208-0.534 0.349-0.594 0.469 0 0 0.04 0.134 0 0.09 0.08 0.1 0.361 0.253 0.844 0.344 0.34 0.07 0.617 0.314 0.727 0.643s0.04 0.692-0.196 0.951l-0.343 0.375c-0.02 0.09-0.05 0.17-0.09 0.312v0.06 6.5c0 0.05 0 0.116 0.06 0.188 0.03 0.04 0.104 0.06 0.157 0.06h7.844c0.093 0 0.1684-0.01 0.2188-0.06-2e-4 -0.01-2e-4 -0.02 0-0.03l4.654-4.808c0.0522-0.054 0.0625-0.079 0.0625-0.188v-6.625c0-0.108-0.01-0.164-0.062-0.219-0.0373-0.037-0.1555-0.062-0.188-0.062z" fill="none" opacity=".5336" stroke="#fff" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round"/><path d="m-6.562 24.53c-0.3877 0-0.6917 0.219-0.9062 0.469l-0.031-0.03-0.031 0.06-0.3438 0.313-4.25 1.218c-0.03 0-0.06 0.02-0.09 0.03-0.549 0.274-0.902 0.554-1.094 0.937-0.192 0.384-0.116 0.867 0.125 1.156 0.329 0.394 0.858 0.553 1.407 0.657l-0.407 0.437c-0.06 0.05-0.1 0.116-0.125 0.188-0.03 0.121-0.07 0.316-0.125 0.5-0.02 0.04-0.03 0.08-0.03 0.125v6.656c0 0.299 0.113 0.582 0.313 0.813 0.199 0.23 0.511 0.406 0.875 0.406h7.843c0.3236 0 0.6569-0.116 0.9063-0.375l4.651-4.81c0.2259-0.235 0.3437-0.539 0.3437-0.875v-6.625c0-0.335-0.1178-0.64-0.3437-0.875-0.2227-0.229-0.5504-0.375-0.874-0.375z" fill="none" stroke="#555753" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round"/><g fill-rule="evenodd"><path d="m-1 25-11 2.5 2 1.5h3l5-3 1-1" fill="url(#linearGradient7899)"/><path d="m-5 25-7 2h4l7-2h-4" fill="url(#linearGradient7901)"/><path d="m-12 27h4c-2 1-0.5 2 1 2h-4c-1.5 0-3-1-1-2z" fill="url(#linearGradient7903)"/><path d="m-9.594 32h4.188c0.2248 0 0.4058 0.195 0.4058 0.438v3.125c0 0.242-0.181 0.437-0.4058 0.437h-4.188c-0.2248 0-0.4058-0.195-0.4058-0.437v-3.125c0-0.243 0.181-0.438 0.4058-0.438z" fill="url(#linearGradient7905)"/></g></g><path d="m14.69 30.56s-4.19 3.268-8.094 6.501c-1.952 1.616-15.7 15.22-16.72 16.78-0.511 0.78-0.987 1.623-0.656 2.781 0.165 0.579 0.608 1.686 1.093 1.406 1.832-1.057 1.547-1.056 2.929-2.438 0.6199-0.948 13.43-14.68 15.29-16.22 3.721-3.08 7.969-6.375 7.969-6.375z" fill="url(#linearGradient7921)" fill-rule="evenodd" stroke="url(#linearGradient7923)" stroke-linejoin="round"/><path d="m15.67 31.27s-18.44 12.69-11.94 13.44c6.5 0.75-14.09 7.825-6.088 9.825" fill="none" opacity=".1903" stroke-opacity="0"/><path d="m10.09 30.03 0.317 2h4.188c0.225 0 0.406 0.195 0.406 0.438v3.125l2-0.313v-4.469c0-0.424-0.314-0.781-0.719-0.781z" fill="url(#linearGradient7927)" fill-rule="evenodd"/><path transform="translate(20)" d="m-9.594 32h4.188c0.2248 0 0.4058 0.195 0.4058 0.438v3.125c0 0.242-0.181 0.437-0.4058 0.437h-4.188c-0.2248 0-0.4058-0.195-0.4058-0.437v-3.125c0-0.243 0.181-0.438 0.4058-0.438z" fill="url(#linearGradient7929)" fill-rule="evenodd" opacity=".3545"/></g></g></svg>
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/ethernet_disabled.png b/modules/luci-base/htdocs/luci-static/resources/icons/ethernet_disabled.png
deleted file mode 100644 (file)
index 73086b3..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/ethernet_disabled.png and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/ethernet_disabled.svg b/modules/luci-base/htdocs/luci-static/resources/icons/ethernet_disabled.svg
new file mode 100644 (file)
index 0000000..ba101b2
--- /dev/null
@@ -0,0 +1 @@
+<svg  width="29.103" height="29.103" viewBox="0 0 29.1 29.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient id="c"><stop stop-color="#fff" offset="0"/><stop stop-color="#fff" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="a"><stop stop-color="#edd400" offset="0"/><stop stop-color="#edd400" stop-opacity="0" offset="1"/></linearGradient><filter id="filter5386" x="-.01972" y="-.02176" width="1.039" height="1.044" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation="0.26293105"/></filter><linearGradient id="linearGradient7887" x1="-7.975" x2="-11.01" y1="25.36" y2="-6.568" gradientTransform="matrix(2 0 0 1.933 43.5 .5333)" gradientUnits="userSpaceOnUse"><stop stop-color="#d3d7cf" offset="0"/><stop stop-color="#fff" offset="1"/></linearGradient><linearGradient id="linearGradient7889" x1="-7.852" x2="-5.51" y1="3.755" y2="18.94" gradientUnits="userSpaceOnUse" xlink:href="#c"/><linearGradient id="linearGradient7907" x1="32.81" x2="32.81" y1="21" y2="26.2" gradientTransform="matrix(1.088 0 0 1.086 -1.581 -8.943)" gradientUnits="userSpaceOnUse"><stop stop-color="#2e3436" offset="0"/><stop stop-color="#555753" offset="1"/></linearGradient><linearGradient id="linearGradient7909" x1="28.88" x2="29" y1="29" y2="16" gradientTransform="translate(1,-7)" gradientUnits="userSpaceOnUse" xlink:href="#c"/><linearGradient id="linearGradient7919" x1="30.31" x2="30.31" y1="27.31" y2="24.69" gradientUnits="userSpaceOnUse" xlink:href="#a"/></defs><g transform="matrix(.9999 0 0 .9999 -8.972 -6.998)" enable-background="new"><rect transform="matrix(1.016 0 0 1.016 -.4902 -.2715)" x="15.38" y="2.875" width="32" height="29" rx="3.723" ry="3.723" display="none" fill-rule="evenodd" filter="url(#filter5386)" opacity=".1205"/><g transform="matrix(.8609 0 0 .8609 -2.741 7.746)"><rect x="14.5" y="1.5" width="32" height="29" rx="2.877" ry="2.781" fill="url(#linearGradient7887)" fill-rule="evenodd" stroke="#888a85" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9924"/><path transform="matrix(2.143 0 0 2.087 44.43 -.6302)" d="m-12.5 1.498c-0.573 0-1.002 0.429-1.002 1.002v11c0 0.573 0.429 1.002 1.002 1.002h12c0.573 0 1.002-0.429 1.002-1.002v-11c0-0.573-0.429-1.002-1.002-1.002z" fill="none" stroke="url(#linearGradient7889)" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9924" stroke-width=".4729"/><path d="m29.48 10.07c-0.639 0-1.155 0.516-1.155 1.154v0.288c0 0.293-0.229 0.543-0.544 0.543h-1.563c-0.639 0-1.155 0.704-1.155 1.342v6.445c0 0.638 0.516 1.154 1.155 1.154h8.564c0.639 0 1.155-0.516 1.155-1.154v-6.445c0-0.638-0.516-1.342-1.155-1.342h-1.563c-0.262 0.02-0.544-0.186-0.544-0.526v-0.305c0-0.638-0.516-1.154-1.155-1.154z" fill="url(#linearGradient7907)" fill-rule="evenodd"/><path d="m29.56 9.438c-1.109 0-1.984 0.9085-2.062 2h-0.938c-1.159 0-2.125 0.965-2.125 2.125v5.874c0 1.16 0.966 2.125 2.125 2.125h7.876c1.159 0 2.125-0.965 2.125-2.125v-5.874c0-1.16-0.966-2.125-2.125-2.125h-0.938c-0.078-1.092-0.953-2-2.063-2z" fill="none" stroke="url(#linearGradient7909)" stroke-dashoffset=".7" stroke-linecap="round"/><g transform="translate(1,-8)" fill="none" stroke="url(#linearGradient7919)" stroke-linecap="round" stroke-width="1px"><path d="m26.5 26.5v-2"/><path d="m28.5 26.5v-2"/><path d="m30.5 26.5v-2"/><path d="m32.5 26.5v-2"/></g></g></g></svg>
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/loading.gif b/modules/luci-base/htdocs/luci-static/resources/icons/loading.gif
deleted file mode 100644 (file)
index 7154314..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/loading.gif and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/loading.svg b/modules/luci-base/htdocs/luci-static/resources/icons/loading.svg
new file mode 100644 (file)
index 0000000..f6907c1
--- /dev/null
@@ -0,0 +1,2 @@
+<svg width="48" height="48" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><g><rect x="11" y="1" width="2" height="5" opacity=".14"/><rect x="11" y="1" width="2" height="5" transform="rotate(30 12 12)" opacity=".29"/><rect x="11" y="1" width="2" height="5" transform="rotate(60 12 12)" opacity=".43"/><rect x="11" y="1" width="2" height="5" transform="rotate(90 12 12)" opacity=".57"/><rect x="11" y="1" width="2" height="5" transform="rotate(120 12 12)" opacity=".71"/><rect x="11" y="1" width="2" height="5" transform="rotate(150 12 12)" opacity=".86"/><rect x="11" y="1" width="2" height="5" transform="rotate(180 12 12)"/><animateTransform attributeName="transform" type="rotate" calcMode="discrete" dur="0.75s" values="0 12 12;30 12 12;60 12 12;90 12 12;120 12 12;150 12 12;180 12 12;210 12 12;240 12 12;270 12 12;300 12 12;330 12 12;360 12 12" repeatCount="indefinite"/></g></svg>
+<!-- https://github.com/n3r4zzurr0/svg-spinners MIT License -->
\ No newline at end of file
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/port_down.png b/modules/luci-base/htdocs/luci-static/resources/icons/port_down.png
deleted file mode 100644 (file)
index b380614..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/port_down.png and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/port_down.svg b/modules/luci-base/htdocs/luci-static/resources/icons/port_down.svg
new file mode 100644 (file)
index 0000000..ae1abb8
--- /dev/null
@@ -0,0 +1 @@
+<svg width="44.41" height="50.44" version="1.1" viewBox="0 0 44.46 50.49" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient id="f"><stop stop-color="#fff" offset="0"/><stop stop-color="#fff" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="a"><stop stop-color="#edd400" offset="0"/><stop stop-color="#edd400" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="d"><stop stop-color="#fff" offset="0"/><stop stop-color="#d3d7cf" offset="1"/></linearGradient><linearGradient id="e"><stop offset="0"/><stop stop-opacity="0" offset="1"/></linearGradient><radialGradient id="radialGradient7885" cx="14.36" cy="34.79" r="8.795" gradientTransform="matrix(1 0 0 .6884 0 10.84)" gradientUnits="userSpaceOnUse" xlink:href="#e"/><filter id="filter5386" x="-.01972" y="-.02176" width="1.039" height="1.044" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation="0.26293105"/></filter><linearGradient id="linearGradient7887" x1="-7.975" x2="-11.01" y1="25.36" y2="-6.568" gradientTransform="matrix(2 0 0 1.933 43.5 .5333)" gradientUnits="userSpaceOnUse"><stop stop-color="#d3d7cf" offset="0"/><stop stop-color="#fff" offset="1"/></linearGradient><linearGradient id="linearGradient7889" x1="-7.852" x2="-5.51" y1="3.755" y2="18.94" gradientUnits="userSpaceOnUse" xlink:href="#f"/><linearGradient id="linearGradient7891" x1="28.62" x2="30.5" y1="41.12" y2="47.81" gradientUnits="userSpaceOnUse" xlink:href="#e"/><filter id="filter5406" x="-.04335" y="-.07587" width="1.087" height="1.152" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation="0.78208031"/></filter><linearGradient id="linearGradient7893" x1="1.626" x2=".8221" y1="55.22" y2="54.42" gradientUnits="userSpaceOnUse"><stop stop-color="#adb0a8" offset="0"/><stop stop-color="#fff" offset="1"/></linearGradient><linearGradient id="linearGradient7895" x1="-4.221" x2="-4.221" y1="59.88" y2="54.71" gradientTransform="matrix(.9643 0 0 .9722 -.25 1.694)" gradientUnits="userSpaceOnUse" xlink:href="#d"/><linearGradient id="linearGradient7897" x1="-1.989" x2="-3.359" y1="51.14" y2="54" gradientTransform="translate(-4,-24)" gradientUnits="userSpaceOnUse" xlink:href="#e"/><linearGradient id="linearGradient7899" x1="-4.685" x2=".8839" y1="52.64" y2="50.56" gradientTransform="translate(-4,-24)" gradientUnits="userSpaceOnUse"><stop stop-color="#eeeeec" offset="0"/><stop stop-color="#babdb6" offset="1"/></linearGradient><linearGradient id="linearGradient7901" x1="-5.082" x2=".2652" y1="50.52" y2="49.46" gradientTransform="translate(-4,-24)" gradientUnits="userSpaceOnUse"><stop stop-color="#eeeeec" offset="0"/><stop stop-color="#fff" offset="1"/></linearGradient><linearGradient id="linearGradient7903" x1="-5.969" x2="-5.969" y1="52.88" y2="51.81" gradientTransform="translate(-4,-24)" gradientUnits="userSpaceOnUse"><stop stop-color="#888a85" offset="0"/><stop stop-color="#fff" offset="1"/></linearGradient><linearGradient id="linearGradient7905" x1="-3.536" x2="-3.536" y1="55.87" y2="59.44" gradientTransform="matrix(1 0 0 1.029 -4 -25.14)" gradientUnits="userSpaceOnUse"><stop stop-color="#555753" offset="0"/><stop stop-color="#d3d7cf" offset="1"/></linearGradient><linearGradient id="linearGradient7907" x1="32.81" x2="32.81" y1="21" y2="26.2" gradientTransform="matrix(1.088 0 0 1.086 -1.581 -8.943)" gradientUnits="userSpaceOnUse"><stop stop-color="#2e3436" offset="0"/><stop stop-color="#555753" offset="1"/></linearGradient><linearGradient id="linearGradient7909" x1="28.88" x2="29" y1="29" y2="16" gradientTransform="translate(1,-7)" gradientUnits="userSpaceOnUse" xlink:href="#f"/><linearGradient id="linearGradient7919" x1="30.31" x2="30.31" y1="27.31" y2="24.69" gradientUnits="userSpaceOnUse" xlink:href="#a"/><linearGradient id="linearGradient7921" x1="37.62" x2="38.88" y1="40.31" y2="45.06" gradientUnits="userSpaceOnUse"><stop stop-color="#729fcf" offset="0"/><stop stop-color="#729fcf" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="linearGradient7923" x1="38.75" x2="40.12" y1="40.62" y2="46.56" gradientUnits="userSpaceOnUse"><stop stop-color="#3465a4" offset="0"/><stop stop-color="#3465a4" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="linearGradient7925" x1="41.19" x2="42.12" y1="38.31" y2="42.94" gradientUnits="userSpaceOnUse" xlink:href="#f"/><linearGradient id="linearGradient7927" x1="-4.11" x2="-4.11" y1="58.81" y2="55" gradientTransform="matrix(1.125 0 0 1.167 15.88 -34.14)" gradientUnits="userSpaceOnUse" xlink:href="#d"/><linearGradient id="linearGradient7929" x1="-6.406" x2="-7.781" y1="32.44" y2="34.56" gradientUnits="userSpaceOnUse" xlink:href="#e"/></defs><g transform="matrix(.9021 0 0 .9021 .9226 -.9079)" enable-background="new"><g fill-rule="evenodd"><path d="m5 12h5-3z" fill="#fff"/><ellipse transform="matrix(1.156 0 0 1.117 -1.489 -5.813)" cx="14.36" cy="34.79" rx="8.795" ry="6.055" fill="url(#radialGradient7885)" opacity=".459"/><rect transform="matrix(1.016 0 0 1.016 -.4902 -.2715)" x="15.38" y="2.875" width="32" height="29" rx="3.723" ry="3.723" filter="url(#filter5386)" opacity=".1205"/><rect x="14.5" y="1.5" width="32" height="29" rx="2.877" ry="2.781" fill="url(#linearGradient7887)" stroke="#888a85" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9924"/></g><path transform="matrix(2.143 0 0 2.087 44.43 -.6302)" d="m-12.5 1.498c-0.573 0-1.002 0.429-1.002 1.002v11c0 0.573 0.429 1.002 1.002 1.002h12c0.573 0 1.002-0.429 1.002-1.002v-11c0-0.573-0.429-1.002-1.002-1.002z" fill="none" stroke="url(#linearGradient7889)" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9924" stroke-width=".4729"/><path transform="translate(.25 -.625)" d="m14.9 31a0.5095 0.5095 0 0 0-0.393 0.102s-4.318 3.332-8.232 6.572c-1.965 1.627-3.742 3.245-4.82 4.894-0.5228 0.8-1.105 1.856-0.7207 3.202 0.2088 0.73 0.7167 1.346 1.324 1.705 0.5543 0.327 1.119 0.468 1.701 0.535 2.271 0.262 4.92-0.406 8.043-1.297 3.13-0.893 6.69-2.089 10.27-3.256 3.578-1.166 7.182-2.3 10.3-2.986 3.107-0.685 5.777-0.846 7.143-0.504 0.217 0.05 0.251 0.08 0.332 0.107-0.02 0.106-0.04 0.226-0.139 0.432-0.49 1.041-2.155 2.984-4.074 4.783-3.845 3.605-8.789 7.08-8.789 7.08a0.5095 0.5095 0 0 0-0.121 0.713l1.75 2.438a0.5095 0.5095 0 0 0 0.705 0.121s5.059-3.528 9.213-7.422c2.074-1.945 3.939-3.932 4.926-6.029 0.492-1.047 0.861-2.332 0.359-3.649-0.51-1.339-1.784-2.154-3.166-2.5-2.606-0.651-5.653-0.213-9.014 0.527-3.366 0.743-7.06 1.867-10.67 3.045s-7.133 2.396-10.11 3.245c-2.185 0.623-3.874 0.901-5.107 1.003 0.7861-0.874 1.894-1.958 3.26-3.089 3.712-3.073 7.958-6.366 7.956-6.366a0.5095 0.5095 0 0 0 0.11-0.687l-1.688-2.5a0.5095 0.5095 0 0 0-0.339-0.219z" fill="url(#linearGradient7891)" fill-rule="evenodd" filter="url(#filter5406)" opacity=".3193"/><g transform="translate(20)"><g transform="matrix(1.167 0 0 1.2 -3.833 -36.2)" fill-rule="evenodd"><path d="m-2.344 51c-0.2048 0-0.3812 0.101-0.5 0.25l-4.016 4c-0.035 0.132-0.099 0.271-0.1406 0.406v5.521c0 0.364 0.2965 0.656 0.6563 0.656h6.687c0.1799 0 0.3514-0.07 0.4688-0.187l4-4c0.1174-0.119 0.1875-0.287 0.1875-0.469v-5.521c0-0.182-0.0701-0.35-0.1875-0.468-0.1191-0.119-0.2889-0.188-0.4688-0.188z" fill="url(#linearGradient7893)"/><path d="m-6.374 55.17h6.462c0.3469 0 0.6262 0.284 0.6262 0.638v5.39c0 0.354-0.2793 0.638-0.6262 0.638h-6.462c-0.3468 0-0.6261-0.284-0.6261-0.638v-5.39c0-0.354 0.2793-0.638 0.6261-0.638z" fill="url(#linearGradient7895)"/></g><path d="m-5 25-5 5h4l5-5h-4" fill="url(#linearGradient7897)" fill-rule="evenodd" opacity=".1231"/><path d="m-1 25-9.5 4h3.5l5-3 1-1" fill="#babdb6" fill-rule="evenodd"/><path d="m-6.562 25.5c-0.024 0-0.055 0-0.1562 0.125-0.03 0.02-0.061 0.04-0.094 0.06-0.02 0.02-0.041 0.04-0.062 0.06-0.02 0.02-0.041 0.04-0.062 0.06h-0.031c-0.02 0.02-0.041 0.04-0.062 0.06l-0.1875 0.187c-0.1069 0.101-0.2351 0.176-0.375 0.219l-4.252 1.229c-0.4 0.208-0.534 0.349-0.594 0.469 0 0 0.04 0.134 0 0.09 0.08 0.1 0.361 0.253 0.844 0.344 0.34 0.07 0.617 0.314 0.727 0.643s0.04 0.692-0.196 0.951l-0.343 0.375c-0.02 0.09-0.05 0.17-0.09 0.312v0.06 6.5c0 0.05 0 0.116 0.06 0.188 0.03 0.04 0.104 0.06 0.157 0.06h7.844c0.093 0 0.1684-0.01 0.2188-0.06-2e-4 -0.01-2e-4 -0.02 0-0.03l4.654-4.808c0.0522-0.054 0.0625-0.079 0.0625-0.188v-6.625c0-0.108-0.01-0.164-0.062-0.219-0.0373-0.037-0.1555-0.062-0.188-0.062z" fill="none" opacity=".5336" stroke="#fff" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round"/><path d="m-6.562 24.53c-0.3877 0-0.6917 0.219-0.9062 0.469l-0.031-0.03-0.031 0.06-0.3438 0.313-4.25 1.218c-0.03 0-0.06 0.02-0.09 0.03-0.549 0.274-0.902 0.554-1.094 0.937-0.192 0.384-0.116 0.867 0.125 1.156 0.329 0.394 0.858 0.553 1.407 0.657l-0.407 0.437c-0.06 0.05-0.1 0.116-0.125 0.188-0.03 0.121-0.07 0.316-0.125 0.5-0.02 0.04-0.03 0.08-0.03 0.125v6.656c0 0.299 0.113 0.582 0.313 0.813 0.199 0.23 0.511 0.406 0.875 0.406h7.843c0.3236 0 0.6569-0.116 0.9063-0.375l4.651-4.81c0.2259-0.235 0.3437-0.539 0.3437-0.875v-6.625c0-0.335-0.1178-0.64-0.3437-0.875-0.2227-0.229-0.5504-0.375-0.874-0.375z" fill="none" stroke="#555753" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round"/><g fill-rule="evenodd"><path d="m-1 25-11 2.5 2 1.5h3l5-3 1-1" fill="url(#linearGradient7899)"/><path d="m-5 25-7 2h4l7-2h-4" fill="url(#linearGradient7901)"/><path d="m-12 27h4c-2 1-0.5 2 1 2h-4c-1.5 0-3-1-1-2z" fill="url(#linearGradient7903)"/><path d="m-9.594 32h4.188c0.2248 0 0.4058 0.195 0.4058 0.438v3.125c0 0.242-0.181 0.437-0.4058 0.437h-4.188c-0.2248 0-0.4058-0.195-0.4058-0.437v-3.125c0-0.243 0.181-0.438 0.4058-0.438z" fill="url(#linearGradient7905)"/></g></g><path d="m29.48 10.07c-0.639 0-1.155 0.516-1.155 1.154v0.288c0 0.293-0.229 0.543-0.544 0.543h-1.563c-0.639 0-1.155 0.704-1.155 1.342v6.445c0 0.638 0.516 1.154 1.155 1.154h8.564c0.639 0 1.155-0.516 1.155-1.154v-6.445c0-0.638-0.516-1.342-1.155-1.342h-1.563c-0.262 0.02-0.544-0.186-0.544-0.526v-0.305c0-0.638-0.516-1.154-1.155-1.154z" fill="url(#linearGradient7907)" fill-rule="evenodd"/><path d="m29.56 9.438c-1.109 0-1.984 0.9085-2.062 2h-0.938c-1.159 0-2.125 0.965-2.125 2.125v5.874c0 1.16 0.966 2.125 2.125 2.125h7.876c1.159 0 2.125-0.965 2.125-2.125v-5.874c0-1.16-0.966-2.125-2.125-2.125h-0.938c-0.078-1.092-0.953-2-2.063-2z" fill="none" stroke="url(#linearGradient7909)" stroke-dashoffset=".7" stroke-linecap="round"/><g transform="translate(1,-8)" fill="none" stroke="url(#linearGradient7919)" stroke-linecap="round" stroke-width="1px"><path d="m26.5 26.5v-2"/><path d="m28.5 26.5v-2"/><path d="m30.5 26.5v-2"/><path d="m32.5 26.5v-2"/></g><path d="m14.69 30.56s-4.19 3.268-8.094 6.501c-1.952 1.616-3.698 3.221-4.719 4.781-0.5103 0.78-0.9871 1.623-0.6562 2.781 0.1654 0.579 0.6113 1.121 1.094 1.406s0.9582 0.406 1.5 0.469c2.124 0.245 4.731-0.394 7.844-1.281 3.113-0.888 6.669-2.083 10.25-3.25 3.581-1.168 7.197-2.306 10.34-3s5.835-0.885 7.375-0.5c0.729 0.182 0.746 0.301 0.75 0.312 0 0.01 0.06 0.336-0.219 0.938-0.566 1.204-2.245 3.116-4.187 4.937-3.885 3.642-8.844 7.125-8.844 7.125l1.75 2.438s5.041-3.517 9.156-7.375c2.058-1.929 3.879-3.892 4.813-5.875 0.466-0.992 0.777-2.113 0.344-3.25-0.434-1.137-1.542-1.87-2.813-2.188-2.46-0.615-5.444-0.204-8.781 0.532-3.337 0.735-7.019 1.855-10.62 3.031-3.607 1.176-7.129 2.395-10.12 3.25-2.912 0.83-5.298 1.22-6.469 1.125 0.6199-0.948 2.296-2.554 4.156-4.094 3.721-3.08 7.969-6.375 7.969-6.375z" fill="url(#linearGradient7921)" fill-rule="evenodd" stroke="url(#linearGradient7923)" stroke-linejoin="round"/><path d="m15.67 31.27s-18.44 12.69-11.94 13.44c6.5 0.75 28-10 36-8s-12 16-12 16" fill="none" opacity=".1903" stroke="url(#linearGradient7925)" stroke-width="1px"/><path d="m10.09 30.03 0.317 2h4.188c0.225 0 0.406 0.195 0.406 0.438v3.125l2-0.313v-4.469c0-0.424-0.314-0.781-0.719-0.781z" fill="url(#linearGradient7927)" fill-rule="evenodd"/><path transform="translate(20)" d="m-9.594 32h4.188c0.2248 0 0.4058 0.195 0.4058 0.438v3.125c0 0.242-0.181 0.437-0.4058 0.437h-4.188c-0.2248 0-0.4058-0.195-0.4058-0.437v-3.125c0-0.243 0.181-0.438 0.4058-0.438z" fill="url(#linearGradient7929)" fill-rule="evenodd" opacity=".3545"/></g></svg>
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/port_up.png b/modules/luci-base/htdocs/luci-static/resources/icons/port_up.png
deleted file mode 100644 (file)
index efb4fea..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/port_up.png and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/port_up.svg b/modules/luci-base/htdocs/luci-static/resources/icons/port_up.svg
new file mode 100644 (file)
index 0000000..45f965c
--- /dev/null
@@ -0,0 +1 @@
+<svg height="42.85" viewBox="0 0 44.95 42.85" width="44.95" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><filter id="filter4684" x="-.09275" y="-.106" width="1.186" height="1.212"><feGaussianBlur stdDeviation="0.71917802"/></filter><linearGradient id="linearGradient3278" x1="-6.411" x2="-10.07" y1="25.76" y2="1.873" gradientTransform="matrix(1.5 0 0 1.4 336.2 52.8)" gradientUnits="userSpaceOnUse"><stop stop-color="#d3d7cf" offset="0"/><stop stop-color="#fff" offset="1"/></linearGradient><linearGradient id="linearGradient4307" x1="25.05" x2="27.76" y1="16.17" y2="24.54" gradientTransform="matrix(1.088 0 0 1.086 294.4 40.06)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient7340-2"/><linearGradient id="linearGradient7340-2"><stop stop-color="#555753" offset="0"/><stop stop-color="#888a85" offset="1"/></linearGradient><linearGradient id="linearGradient4182" x1="326.5" x2="326.5" y1="61.7" y2="60.69" gradientUnits="userSpaceOnUse"><stop stop-color="#babdb6" offset="0"/><stop stop-color="#fff" offset="1"/></linearGradient><radialGradient id="radialGradient4612" cx="306.5" cy="86.38" r="21.91" gradientTransform="matrix(2.238 -.5404 .1485 .615 -392 204.4)" gradientUnits="userSpaceOnUse"><stop offset="0"/><stop stop-opacity="0" offset="1"/></radialGradient><filter id="filter4618" x="-.07545" y="-.06204" width="1.151" height="1.143"><feGaussianBlur stdDeviation="0.89652215"/></filter><linearGradient id="linearGradient4212" x1="322.3" x2="328.4" y1="62.62" y2="68.74" gradientTransform="matrix(.75 0 0 .8333 81.62 10.42)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient4206"/><linearGradient id="linearGradient4206"><stop stop-color="#fff" offset="0"/><stop stop-color="#babdb6" offset="1"/></linearGradient><linearGradient id="linearGradient4231" x1="325.4" x2="328.4" y1="63.27" y2="68.74" gradientTransform="matrix(.5 0 0 .5 -489.8 -97.75)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient4206"/><linearGradient id="linearGradient4380" x1="320" x2="330.2" y1="60.75" y2="87.75" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient4374"/><linearGradient id="linearGradient4374"><stop stop-color="#fff" offset="0"/><stop stop-color="#fff" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="linearGradient3248-0" x1="-47.16" x2="-46.15" y1="39.38" y2="44.17" gradientTransform="translate(386,50)" gradientUnits="userSpaceOnUse"><stop stop-color="#729fcf" offset="0"/><stop stop-color="#729fcf" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="linearGradient3250-1" x1="-48" x2="-46.75" y1="40.38" y2="45.69" gradientTransform="translate(386,50)" gradientUnits="userSpaceOnUse"><stop stop-color="#3465a4" offset="0"/><stop stop-color="#3465a4" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="linearGradient4604" x1="335.8" x2="336.8" y1="90.5" y2="96" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient4374"/></defs><clipPath id="b"><rect x="68.78" y="-.0933" width="58.26" height="58.26" rx="2.648"/></clipPath><filter id="c" x="-.021" y="-.021" width="1.042" height="1.042" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation=".28282197"/></filter><clipPath id="h"><path d="m-6.562 24.53c-.3877 0-.6917.219-.9062.469l-.031-.03-.031.06-.3438.313-4.25 1.218c-.03 0-.06.02-.09.03-.549.274-.902.554-1.094.937-.192.384-.116.867.125 1.156.329.394.858.553 1.407.657l-.407.437c-.06.05-.1.116-.125.188-.03.121-.07.316-.125.5-.02.04-.03.08-.03.125v6.656c0 .299.113.582.313.813.199.23.511.406.875.406h7.843c.3236 0 .6569-.116.9063-.375l4.651-4.81c.2259-.235.3437-.539.3437-.875v-6.625c0-.335-.1178-.64-.3437-.875-.2227-.229-.5504-.375-.874-.375z"/></clipPath><filter id="i" x="-.03844" y="-.04352" width="1.077" height="1.087" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation=".1491362"/></filter><filter id="p" x="-.02026" y="-.02354" width="1.04" height="1.047" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation=".071069152"/></filter><filter id="x" x="-.02305" y="-.0379" width="1.046" height="1.076" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation=".16679387"/></filter><clipPath id="A"><path d="m-95.3 143.8s-4.189 3.27-8.097 6.5c-1.95 1.62-3.69 3.22-4.72 4.78-.51.78-.98 1.62-.65 2.78.16.58.61 1.12 1.09 1.41.48.28.96.4 1.5.47 2.13.24 4.73-.4 7.846-1.28 3.113-.89 6.669-2.09 10.25-3.25 3.581-1.17 7.196-2.31 10.34-3 3.147-.7 5.835-.89 7.375-.5.729.18.745.3.75.31 0 0 .06.33-.219.94-.567 1.2-2.245 3.11-4.187 4.93-3.885 3.64-8.844 7.13-8.844 7.13l1.75 2.44s5.041-3.52 9.156-7.38c2.058-1.93 3.879-3.89 4.813-5.87.466-1 .776-2.12.343-3.25-.433-1.14-1.541-1.87-2.812-2.19-2.46-.62-5.444-.21-8.781.53-3.337.73-7.019 1.85-10.62 3.03-3.607 1.18-7.129 2.4-10.12 3.25-2.914.83-5.294 1.22-6.474 1.13.62-.95 2.3-2.56 4.16-4.1 3.722-3.08 7.97-6.37 7.97-6.37z"/></clipPath><mask id="B" maskUnits="userSpaceOnUse"><rect x="-115.6" y="147" width="51.28" height="17.34" rx=".6657" fill="url(#C)" fill-rule="evenodd" stroke-width="2"/></mask><linearGradient id="C" x1="-112.3" x2="-112.3" y1="148.9" y2="164.5" gradientUnits="userSpaceOnUse"><stop offset="0"/><stop stop-color="#fff" offset=".2177"/><stop stop-color="#fff" offset=".7659"/><stop offset="1"/></linearGradient><filter id="D" x="-.01972" y="-.03535" width="1.04" height="1.071" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation=".24373953"/></filter><filter id="H" x="-.395" y="-.5737" width="1.79" height="2.147" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation="2.8946329"/></filter><g transform="matrix(.9132 0 0 .9132 -270.6 -47.69)" enable-background="new"><g fill-rule="evenodd"><rect x="315.5" y="54.5" width="24" height="21" rx="1.567" ry="1.567" filter="url(#filter4684)" opacity=".1907" stroke="#000" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9924"/><rect x="314.5" y="53.5" width="24" height="21" rx="1.567" ry="1.567" fill="url(#linearGradient3278)" stroke="#888a85" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9924"/><path d="m325 59.07c-0.64 0-1.16 0.516-1.16 1.154v0.288c0 0.293-0.23 0.543-0.54 0.543h-0.12c-0.64 0-1.16 0.704-1.16 1.342v5.445c0 0.638 0.52 1.154 1.16 1.154h6.56c0.64 0 1.16-0.516 1.16-1.154v-5.445c0-0.638-0.52-1.342-1.16-1.342h-0.14c-0.26 0.02-0.55-0.186-0.55-0.526v-0.305c0-0.638-0.51-1.154-1.15-1.154z" fill="url(#linearGradient4307)" stroke="#fff" stroke-width="2"/><path d="m325 59.07c-0.64 0-1.16 0.516-1.16 1.154v0.288c0 0.293-0.23 0.543-0.54 0.543h-0.12c-0.64 0-1.16 0.704-1.16 1.342v5.445c0 0.638 0.52 1.154 1.16 1.154h6.56c0.64 0 1.16-0.516 1.16-1.154v-5.445c0-0.638-0.52-1.342-1.16-1.342h-0.14c-0.26 0.02-0.55-0.186-0.55-0.526v-0.305c0-0.638-0.51-1.154-1.15-1.154z" fill="url(#linearGradient4307)"/></g><rect x="325" y="60" width="3" height="2" rx=".3978" ry=".3978" color="#000000" fill="url(#linearGradient4182)"/><path d="m327.7 103.7s20-14 12-16-28.06 7.627-38 7c-10.11-0.638 22.5-9.83 24.77-27.71" fill="none" filter="url(#filter4618)" opacity=".4944" stroke="url(#radialGradient4612)" stroke-width="2"/><rect x="323.5" y="62.5" width="6" height="5" rx=".1768" ry=".1768" color="#000000" fill="#d3d7cf" stroke="url(#linearGradient4212)"/><rect transform="scale(-1)" x="-328.5" y="-66.5" width="4" height="3" rx=".1768" ry=".1768" color="#000000" fill="#888a85" stroke="url(#linearGradient4231)"/><rect x="315.5" y="54.5" width="22" height="19" rx=".5674" ry=".5674" fill="none" stroke="url(#linearGradient4380)" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9924"/><path d="m325 63.81c-1.03 8.083-9.29 14.95-16.38 19.75-3.54 2.401-6.67 4.247-8.53 5.718-0.46 0.368-0.85 0.712-1.18 1.125-0.34 0.414-0.74 1.02-0.57 1.907 0.17 0.886 0.92 1.362 1.47 1.562 0.56 0.2 1.11 0.299 1.81 0.344 5.52 0.347 13.01-2.019 20.25-4.094 7.25-2.075 14.34-3.76 17.5-2.969 0.73 0.182 0.75 0.332 0.75 0.344 0 0.01 0 0.304-0.25 0.906-0.56 1.204-2.21 3.148-4.15 4.969-3.89 3.642-8.85 7.095-8.85 7.095l1.72 2.47s5.04-3.519 9.16-7.377c2.06-1.93 3.91-3.892 4.84-5.875 0.47-0.992 0.75-2.114 0.32-3.25-0.44-1.137-1.55-1.87-2.82-2.188-4.83-1.209-11.76 0.918-19.03 3-6.88 1.972-13.91 3.965-18.4 3.938 1.62-1.195 4.33-2.874 7.65-5.125 7.26-4.922 16.44-12.08 17.69-21.88z" color="#000000" fill="url(#linearGradient3248-0)" fill-rule="evenodd" stroke="url(#linearGradient3250-1)" stroke-linejoin="round"/><path transform="scale(-1)" d="m-324.5-63.68c0 0.1-0.1 0.177-0.18 0.177h-3.64c-0.1 0-0.18-0.08-0.18-0.177v-2.646c0-0.1 0.1-0.177 0.18-0.177" color="#000000" fill="none" stroke="url(#linearGradient4231)"/><path d="m327.1 101.4s20-14 12-16-28.07 7.626-38 7c-10.11-0.638 22.49-9.831 24.76-27.71" fill="none" opacity=".614" stroke="url(#linearGradient4604)"/></g></svg>
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/signal-0-25.png b/modules/luci-base/htdocs/luci-static/resources/icons/signal-0-25.png
deleted file mode 100644 (file)
index 6455093..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/signal-0-25.png and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/signal-0.png b/modules/luci-base/htdocs/luci-static/resources/icons/signal-0.png
deleted file mode 100644 (file)
index ed7d1cd..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/signal-0.png and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/signal-000-000.svg b/modules/luci-base/htdocs/luci-static/resources/icons/signal-000-000.svg
new file mode 100644 (file)
index 0000000..3dc276e
--- /dev/null
@@ -0,0 +1 @@
+<svg height="32" width="32" viewBox="0 0 96 96" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a"><stop offset="0" stop-color="#fff"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></linearGradient><linearGradient id="b"><stop offset="0" stop-color="#aaa"/><stop offset="1" stop-color="#f0f0f0"/></linearGradient><linearGradient id="c" gradientUnits="userSpaceOnUse" x1="76" x2="76" xlink:href="#b" y1="14" y2="-66"/><linearGradient id="d" gradientUnits="userSpaceOnUse" x1="56" x2="56" xlink:href="#b" y1="14" y2="-50"/><linearGradient id="e" gradientUnits="userSpaceOnUse" x1="44" x2="44" xlink:href="#b" y1="14" y2="-34"/><linearGradient id="f" gradientUnits="userSpaceOnUse" x1="16" x2="16" xlink:href="#b" y1="14" y2="-18"/><linearGradient id="g" gradientUnits="userSpaceOnUse" x1="78" x2="78" xlink:href="#a" y1="-66" y2="6.027772"/><linearGradient id="h" gradientUnits="userSpaceOnUse" x1="19" x2="19" xlink:href="#a" y1="-18" y2="14.140317"/><linearGradient id="i" gradientUnits="userSpaceOnUse" x1="37" x2="37" xlink:href="#a" y1="-34" y2="14.010415"/><linearGradient id="j" gradientUnits="userSpaceOnUse" x1="57" x2="57" xlink:href="#a" y1="-50" y2="14.007812"/><g transform="translate(0 74)"><path d="m74-67.96875c-3.827486 0-6.96875 3.141264-6.96875 6.96875v11.28125c-1.274027-1.358769-3.036218-2.25-5.03125-2.25h-8c-3.827486 0-6.96875 3.141264-6.96875 6.96875v11.28125c-1.274027-1.358769-3.036218-2.25-5.03125-2.25h-8c-3.827486 0-6.96875 3.141264-6.96875 6.96875v11.28125c-1.274027-1.358769-3.036218-2.25-5.03125-2.25h-8c-3.827486 0-6.96875 3.141264-6.96875 6.96875v24c0 3.827486 3.141264 6.96875 6.96875 6.96875h8c2.611074 0 4.807585-1.51241 6-3.65625 1.192415 2.14384 3.388926 3.65625 6 3.65625h8c2.611074 0 4.807585-1.51241 6-3.65625 1.192415 2.14384 3.388926 3.65625 6 3.65625h8c2.611074 0 4.807585-1.51241 6-3.65625 1.192415 2.14384 3.388926 3.65625 6 3.65625h8c3.827486 0 6.96875-3.141264 6.96875-6.96875v-72c0-3.827486-3.141264-6.96875-6.96875-6.96875z" opacity=".08"/><path d="m74-66.96875c-3.283091 0-5.96875 2.685659-5.96875 5.96875v72c0 3.283091 2.685659 5.96875 5.96875 5.96875h8c3.283091 0 5.96875-2.685659 5.96875-5.96875v-72c0-3.283091-2.685659-5.96875-5.96875-5.96875zm-20 16c-3.283091 0-5.96875 2.685659-5.96875 5.96875v56c0 3.283091 2.685659 5.96875 5.96875 5.96875h8c3.283091 0 5.96875-2.685659 5.96875-5.96875v-56c0-3.283091-2.685659-5.96875-5.96875-5.96875zm-20 16c-3.283091 0-5.96875 2.685659-5.96875 5.96875v40c0 3.283091 2.685659 5.96875 5.96875 5.96875h8c3.283091 0 5.96875-2.685659 5.96875-5.96875v-40c0-3.283091-2.685659-5.96875-5.96875-5.96875zm-20 16c-3.283091 0-5.96875 2.685659-5.96875 5.96875v24c0 3.283091 2.685659 5.96875 5.96875 5.96875h8c3.283091 0 5.96875-2.685659 5.96875-5.96875v-24c0-3.283091-2.685659-5.96875-5.96875-5.96875z" opacity=".1"/><path d="m74-66.03125c-2.763365 0-5.03125 2.267885-5.03125 5.03125v72c0 2.763365 2.267885 5.03125 5.03125 5.03125h8c2.763365 0 5.03125-2.267885 5.03125-5.03125v-72c0-2.763365-2.267885-5.03125-5.03125-5.03125zm-20 16c-2.763365 0-5.03125 2.267885-5.03125 5.03125v56c0 2.763365 2.267885 5.03125 5.03125 5.03125h8c2.763365 0 5.03125-2.267885 5.03125-5.03125v-56c0-2.763365-2.267885-5.03125-5.03125-5.03125zm-20 16c-2.763365 0-5.03125 2.267885-5.03125 5.03125v40c0 2.763365 2.267885 5.03125 5.03125 5.03125h8c2.763365 0 5.03125-2.267885 5.03125-5.03125v-40c0-2.763365-2.267885-5.03125-5.03125-5.03125zm-20 16c-2.763365 0-5.03125 2.267885-5.03125 5.03125v24c0 2.763365 2.267885 5.03125 5.03125 5.03125h8c2.763365 0 5.03125-2.267885 5.03125-5.03125v-24c0-2.763365-2.267885-5.03125-5.03125-5.03125z" opacity=".15"/><path d="m74-65c-2.216 0-4 1.784-4 4v72c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-72c0-2.216-1.784-4-4-4zm-20 16c-2.216 0-4 1.784-4 4v56c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-56c0-2.216-1.784-4-4-4zm-20 16c-2.216 0-4 1.784-4 4v40c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-40c0-2.216-1.784-4-4-4zm-20 16c-2.216 0-4 1.784-4 4v24c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-24c0-2.216-1.784-4-4-4z" opacity=".3"/><rect fill="url(#c)" height="80" rx="4" width="16" x="70" y="-66"/><rect fill="url(#d)" height="64" rx="4" width="16" x="50" y="-50"/><rect fill="url(#e)" height="48" rx="4" width="16" x="30" y="-34"/><rect fill="url(#f)" height="32" rx="4" width="16" x="10" y="-18"/><path d="m74-66c-2.216 0-4 1.784-4 4v72c0 1.798949 1.184428 3.275003 2.8125 3.78125-1.09126-.454671-1.84375-1.508071-1.84375-2.78125v-72c0-1.697572 1.333678-3.03125 3.03125-3.03125h8c1.697572 0 3.03125 1.333678 3.03125 3.03125v72c0 1.273179-.75249 2.326579-1.84375 2.78125 1.628072-.506247 2.8125-1.982301 2.8125-3.78125v-72c0-2.216-1.784-4-4-4z" fill="url(#g)" opacity=".6"/><path d="m54-50c-2.216 0-4 1.784-4 4v56c0 1.798949 1.184428 3.275003 2.8125 3.78125-1.09126-.454671-1.84375-1.508071-1.84375-2.78125v-56c0-1.697572 1.333678-3.03125 3.03125-3.03125h8c1.697572 0 3.03125 1.333678 3.03125 3.03125v56c0 1.273179-.75249 2.326579-1.84375 2.78125 1.628072-.506247 2.8125-1.982301 2.8125-3.78125v-56c0-2.216-1.784-4-4-4z" fill="url(#j)" opacity=".6"/><path d="m34-34c-2.216 0-4 1.784-4 4v40c0 1.798949 1.184428 3.275003 2.8125 3.78125-1.09126-.454671-1.84375-1.508071-1.84375-2.78125v-40c0-1.697572 1.333678-3.03125 3.03125-3.03125h8c1.697572 0 3.03125 1.333678 3.03125 3.03125v40c0 1.273179-.75249 2.326579-1.84375 2.78125 1.628072-.506247 2.8125-1.982301 2.8125-3.78125v-40c0-2.216-1.784-4-4-4z" fill="url(#i)" opacity=".6"/><path d="m14-18c-2.216 0-4 1.784-4 4v24c0 1.798949 1.184428 3.275003 2.8125 3.78125-1.09126-.454671-1.84375-1.508071-1.84375-2.78125v-24c0-1.697572 1.333678-3.03125 3.03125-3.03125h8c1.697572 0 3.03125 1.333678 3.03125 3.03125v24c0 1.273179-.75249 2.326579-1.84375 2.78125 1.628072-.506247 2.8125-1.982301 2.8125-3.78125v-24c0-2.216-1.784-4-4-4z" fill="url(#h)" opacity=".6"/></g></svg>
\ No newline at end of file
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/signal-000-025.svg b/modules/luci-base/htdocs/luci-static/resources/icons/signal-000-025.svg
new file mode 100644 (file)
index 0000000..af9720f
--- /dev/null
@@ -0,0 +1 @@
+<svg height="32" width="32" viewBox="0 0 96 96" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a"><stop offset="0" stop-color="#fff"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></linearGradient><linearGradient id="b"><stop offset="0" stop-color="#aaa"/><stop offset="1" stop-color="#f0f0f0"/></linearGradient><linearGradient id="c" gradientUnits="userSpaceOnUse" x1="76" x2="76" xlink:href="#b" y1="14" y2="-66"/><linearGradient id="d" gradientUnits="userSpaceOnUse" x1="56" x2="56" xlink:href="#b" y1="14" y2="-50"/><linearGradient id="e" gradientUnits="userSpaceOnUse" x1="44" x2="44" xlink:href="#b" y1="14" y2="-34"/><linearGradient id="f" gradientUnits="userSpaceOnUse" x1="16" x2="16" y1="14" y2="-18"><stop offset="0" stop-color="#395d93"/><stop offset="1" stop-color="#6e92c7"/></linearGradient><linearGradient id="g" gradientUnits="userSpaceOnUse" x1="78" x2="78" xlink:href="#a" y1="-66" y2="6.027772"/><linearGradient id="h" gradientUnits="userSpaceOnUse" x1="19" x2="19" xlink:href="#a" y1="-18" y2="14.140317"/><linearGradient id="i" gradientUnits="userSpaceOnUse" x1="37" x2="37" xlink:href="#a" y1="-34" y2="14.010415"/><linearGradient id="j" gradientUnits="userSpaceOnUse" x1="57" x2="57" xlink:href="#a" y1="-50" y2="14.007812"/><g transform="translate(0 74)"><path d="m74-67.96875c-3.827486 0-6.96875 3.141264-6.96875 6.96875v11.28125c-1.274027-1.358769-3.036218-2.25-5.03125-2.25h-8c-3.827486 0-6.96875 3.141264-6.96875 6.96875v11.28125c-1.274027-1.358769-3.036218-2.25-5.03125-2.25h-8c-3.827486 0-6.96875 3.141264-6.96875 6.96875v11.28125c-1.274027-1.358769-3.036218-2.25-5.03125-2.25h-8c-3.827486 0-6.96875 3.141264-6.96875 6.96875v24c0 3.827486 3.141264 6.96875 6.96875 6.96875h8c2.611074 0 4.807585-1.51241 6-3.65625 1.192415 2.14384 3.388926 3.65625 6 3.65625h8c2.611074 0 4.807585-1.51241 6-3.65625 1.192415 2.14384 3.388926 3.65625 6 3.65625h8c2.611074 0 4.807585-1.51241 6-3.65625 1.192415 2.14384 3.388926 3.65625 6 3.65625h8c3.827486 0 6.96875-3.141264 6.96875-6.96875v-72c0-3.827486-3.141264-6.96875-6.96875-6.96875z" opacity=".08"/><path d="m74-66.96875c-3.283091 0-5.96875 2.685659-5.96875 5.96875v72c0 3.283091 2.685659 5.96875 5.96875 5.96875h8c3.283091 0 5.96875-2.685659 5.96875-5.96875v-72c0-3.283091-2.685659-5.96875-5.96875-5.96875zm-20 16c-3.283091 0-5.96875 2.685659-5.96875 5.96875v56c0 3.283091 2.685659 5.96875 5.96875 5.96875h8c3.283091 0 5.96875-2.685659 5.96875-5.96875v-56c0-3.283091-2.685659-5.96875-5.96875-5.96875zm-20 16c-3.283091 0-5.96875 2.685659-5.96875 5.96875v40c0 3.283091 2.685659 5.96875 5.96875 5.96875h8c3.283091 0 5.96875-2.685659 5.96875-5.96875v-40c0-3.283091-2.685659-5.96875-5.96875-5.96875zm-20 16c-3.283091 0-5.96875 2.685659-5.96875 5.96875v24c0 3.283091 2.685659 5.96875 5.96875 5.96875h8c3.283091 0 5.96875-2.685659 5.96875-5.96875v-24c0-3.283091-2.685659-5.96875-5.96875-5.96875z" opacity=".1"/><path d="m74-66.03125c-2.763365 0-5.03125 2.267885-5.03125 5.03125v72c0 2.763365 2.267885 5.03125 5.03125 5.03125h8c2.763365 0 5.03125-2.267885 5.03125-5.03125v-72c0-2.763365-2.267885-5.03125-5.03125-5.03125zm-20 16c-2.763365 0-5.03125 2.267885-5.03125 5.03125v56c0 2.763365 2.267885 5.03125 5.03125 5.03125h8c2.763365 0 5.03125-2.267885 5.03125-5.03125v-56c0-2.763365-2.267885-5.03125-5.03125-5.03125zm-20 16c-2.763365 0-5.03125 2.267885-5.03125 5.03125v40c0 2.763365 2.267885 5.03125 5.03125 5.03125h8c2.763365 0 5.03125-2.267885 5.03125-5.03125v-40c0-2.763365-2.267885-5.03125-5.03125-5.03125zm-20 16c-2.763365 0-5.03125 2.267885-5.03125 5.03125v24c0 2.763365 2.267885 5.03125 5.03125 5.03125h8c2.763365 0 5.03125-2.267885 5.03125-5.03125v-24c0-2.763365-2.267885-5.03125-5.03125-5.03125z" opacity=".15"/><path d="m74-65c-2.216 0-4 1.784-4 4v72c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-72c0-2.216-1.784-4-4-4zm-20 16c-2.216 0-4 1.784-4 4v56c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-56c0-2.216-1.784-4-4-4zm-20 16c-2.216 0-4 1.784-4 4v40c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-40c0-2.216-1.784-4-4-4zm-20 16c-2.216 0-4 1.784-4 4v24c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-24c0-2.216-1.784-4-4-4z" opacity=".3"/><rect fill="url(#c)" height="80" rx="4" width="16" x="70" y="-66"/><rect fill="url(#d)" height="64" rx="4" width="16" x="50" y="-50"/><rect fill="url(#e)" height="48" rx="4" width="16" x="30" y="-34"/><rect fill="url(#f)" height="32" rx="4" width="16" x="10" y="-18"/><path d="m74-66c-2.216 0-4 1.784-4 4v72c0 1.798949 1.184428 3.275003 2.8125 3.78125-1.09126-.454671-1.84375-1.508071-1.84375-2.78125v-72c0-1.697572 1.333678-3.03125 3.03125-3.03125h8c1.697572 0 3.03125 1.333678 3.03125 3.03125v72c0 1.273179-.75249 2.326579-1.84375 2.78125 1.628072-.506247 2.8125-1.982301 2.8125-3.78125v-72c0-2.216-1.784-4-4-4z" fill="url(#g)" opacity=".6"/><path d="m54-50c-2.216 0-4 1.784-4 4v56c0 1.798949 1.184428 3.275003 2.8125 3.78125-1.09126-.454671-1.84375-1.508071-1.84375-2.78125v-56c0-1.697572 1.333678-3.03125 3.03125-3.03125h8c1.697572 0 3.03125 1.333678 3.03125 3.03125v56c0 1.273179-.75249 2.326579-1.84375 2.78125 1.628072-.506247 2.8125-1.982301 2.8125-3.78125v-56c0-2.216-1.784-4-4-4z" fill="url(#j)" opacity=".6"/><path d="m34-34c-2.216 0-4 1.784-4 4v40c0 1.798949 1.184428 3.275003 2.8125 3.78125-1.09126-.454671-1.84375-1.508071-1.84375-2.78125v-40c0-1.697572 1.333678-3.03125 3.03125-3.03125h8c1.697572 0 3.03125 1.333678 3.03125 3.03125v40c0 1.273179-.75249 2.326579-1.84375 2.78125 1.628072-.506247 2.8125-1.982301 2.8125-3.78125v-40c0-2.216-1.784-4-4-4z" fill="url(#i)" opacity=".6"/><path d="m14-18c-2.216 0-4 1.784-4 4v24c0 1.798949 1.184428 3.275003 2.8125 3.78125-1.09126-.454671-1.84375-1.508071-1.84375-2.78125v-24c0-1.697572 1.333678-3.03125 3.03125-3.03125h8c1.697572 0 3.03125 1.333678 3.03125 3.03125v24c0 1.273179-.75249 2.326579-1.84375 2.78125 1.628072-.506247 2.8125-1.982301 2.8125-3.78125v-24c0-2.216-1.784-4-4-4z" fill="url(#h)" opacity=".6"/></g></svg>
\ No newline at end of file
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/signal-025-050.svg b/modules/luci-base/htdocs/luci-static/resources/icons/signal-025-050.svg
new file mode 100644 (file)
index 0000000..4809b5b
--- /dev/null
@@ -0,0 +1 @@
+<svg height="32" width="32" viewBox="0 0 96 96" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a"><stop offset="0" stop-color="#fff"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></linearGradient><linearGradient id="b"><stop offset="0" stop-color="#395d93"/><stop offset="1" stop-color="#6e92c7"/></linearGradient><linearGradient id="c"><stop offset="0" stop-color="#aaa"/><stop offset="1" stop-color="#f0f0f0"/></linearGradient><linearGradient id="d" gradientUnits="userSpaceOnUse" x1="76" x2="76" xlink:href="#c" y1="14" y2="-66"/><linearGradient id="e" gradientUnits="userSpaceOnUse" x1="56" x2="56" xlink:href="#c" y1="14" y2="-50"/><linearGradient id="f" gradientUnits="userSpaceOnUse" x1="44" x2="44" xlink:href="#b" y1="14" y2="-34"/><linearGradient id="g" gradientUnits="userSpaceOnUse" x1="16" x2="16" xlink:href="#b" y1="14" y2="-18"/><linearGradient id="h" gradientUnits="userSpaceOnUse" x1="78" x2="78" xlink:href="#a" y1="-66" y2="6.027772"/><linearGradient id="i" gradientUnits="userSpaceOnUse" x1="19" x2="19" xlink:href="#a" y1="-18" y2="14.140317"/><linearGradient id="j" gradientUnits="userSpaceOnUse" x1="37" x2="37" xlink:href="#a" y1="-34" y2="14.010415"/><linearGradient id="k" gradientUnits="userSpaceOnUse" x1="57" x2="57" xlink:href="#a" y1="-50" y2="14.007812"/><g transform="translate(0 74)"><path d="m74-67.96875c-3.827486 0-6.96875 3.141264-6.96875 6.96875v11.28125c-1.274027-1.358769-3.036218-2.25-5.03125-2.25h-8c-3.827486 0-6.96875 3.141264-6.96875 6.96875v11.28125c-1.274027-1.358769-3.036218-2.25-5.03125-2.25h-8c-3.827486 0-6.96875 3.141264-6.96875 6.96875v11.28125c-1.274027-1.358769-3.036218-2.25-5.03125-2.25h-8c-3.827486 0-6.96875 3.141264-6.96875 6.96875v24c0 3.827486 3.141264 6.96875 6.96875 6.96875h8c2.611074 0 4.807585-1.51241 6-3.65625 1.192415 2.14384 3.388926 3.65625 6 3.65625h8c2.611074 0 4.807585-1.51241 6-3.65625 1.192415 2.14384 3.388926 3.65625 6 3.65625h8c2.611074 0 4.807585-1.51241 6-3.65625 1.192415 2.14384 3.388926 3.65625 6 3.65625h8c3.827486 0 6.96875-3.141264 6.96875-6.96875v-72c0-3.827486-3.141264-6.96875-6.96875-6.96875z" opacity=".08"/><path d="m74-66.96875c-3.283091 0-5.96875 2.685659-5.96875 5.96875v72c0 3.283091 2.685659 5.96875 5.96875 5.96875h8c3.283091 0 5.96875-2.685659 5.96875-5.96875v-72c0-3.283091-2.685659-5.96875-5.96875-5.96875zm-20 16c-3.283091 0-5.96875 2.685659-5.96875 5.96875v56c0 3.283091 2.685659 5.96875 5.96875 5.96875h8c3.283091 0 5.96875-2.685659 5.96875-5.96875v-56c0-3.283091-2.685659-5.96875-5.96875-5.96875zm-20 16c-3.283091 0-5.96875 2.685659-5.96875 5.96875v40c0 3.283091 2.685659 5.96875 5.96875 5.96875h8c3.283091 0 5.96875-2.685659 5.96875-5.96875v-40c0-3.283091-2.685659-5.96875-5.96875-5.96875zm-20 16c-3.283091 0-5.96875 2.685659-5.96875 5.96875v24c0 3.283091 2.685659 5.96875 5.96875 5.96875h8c3.283091 0 5.96875-2.685659 5.96875-5.96875v-24c0-3.283091-2.685659-5.96875-5.96875-5.96875z" opacity=".1"/><path d="m74-66.03125c-2.763365 0-5.03125 2.267885-5.03125 5.03125v72c0 2.763365 2.267885 5.03125 5.03125 5.03125h8c2.763365 0 5.03125-2.267885 5.03125-5.03125v-72c0-2.763365-2.267885-5.03125-5.03125-5.03125zm-20 16c-2.763365 0-5.03125 2.267885-5.03125 5.03125v56c0 2.763365 2.267885 5.03125 5.03125 5.03125h8c2.763365 0 5.03125-2.267885 5.03125-5.03125v-56c0-2.763365-2.267885-5.03125-5.03125-5.03125zm-20 16c-2.763365 0-5.03125 2.267885-5.03125 5.03125v40c0 2.763365 2.267885 5.03125 5.03125 5.03125h8c2.763365 0 5.03125-2.267885 5.03125-5.03125v-40c0-2.763365-2.267885-5.03125-5.03125-5.03125zm-20 16c-2.763365 0-5.03125 2.267885-5.03125 5.03125v24c0 2.763365 2.267885 5.03125 5.03125 5.03125h8c2.763365 0 5.03125-2.267885 5.03125-5.03125v-24c0-2.763365-2.267885-5.03125-5.03125-5.03125z" opacity=".15"/><path d="m74-65c-2.216 0-4 1.784-4 4v72c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-72c0-2.216-1.784-4-4-4zm-20 16c-2.216 0-4 1.784-4 4v56c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-56c0-2.216-1.784-4-4-4zm-20 16c-2.216 0-4 1.784-4 4v40c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-40c0-2.216-1.784-4-4-4zm-20 16c-2.216 0-4 1.784-4 4v24c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-24c0-2.216-1.784-4-4-4z" opacity=".3"/><rect fill="url(#d)" height="80" rx="4" width="16" x="70" y="-66"/><rect fill="url(#e)" height="64" rx="4" width="16" x="50" y="-50"/><rect fill="url(#f)" height="48" rx="4" width="16" x="30" y="-34"/><rect fill="url(#g)" height="32" rx="4" width="16" x="10" y="-18"/><path d="m74-66c-2.216 0-4 1.784-4 4v72c0 1.798949 1.184428 3.275003 2.8125 3.78125-1.09126-.454671-1.84375-1.508071-1.84375-2.78125v-72c0-1.697572 1.333678-3.03125 3.03125-3.03125h8c1.697572 0 3.03125 1.333678 3.03125 3.03125v72c0 1.273179-.75249 2.326579-1.84375 2.78125 1.628072-.506247 2.8125-1.982301 2.8125-3.78125v-72c0-2.216-1.784-4-4-4z" fill="url(#h)" opacity=".6"/><path d="m54-50c-2.216 0-4 1.784-4 4v56c0 1.798949 1.184428 3.275003 2.8125 3.78125-1.09126-.454671-1.84375-1.508071-1.84375-2.78125v-56c0-1.697572 1.333678-3.03125 3.03125-3.03125h8c1.697572 0 3.03125 1.333678 3.03125 3.03125v56c0 1.273179-.75249 2.326579-1.84375 2.78125 1.628072-.506247 2.8125-1.982301 2.8125-3.78125v-56c0-2.216-1.784-4-4-4z" fill="url(#k)" opacity=".6"/><path d="m34-34c-2.216 0-4 1.784-4 4v40c0 1.798949 1.184428 3.275003 2.8125 3.78125-1.09126-.454671-1.84375-1.508071-1.84375-2.78125v-40c0-1.697572 1.333678-3.03125 3.03125-3.03125h8c1.697572 0 3.03125 1.333678 3.03125 3.03125v40c0 1.273179-.75249 2.326579-1.84375 2.78125 1.628072-.506247 2.8125-1.982301 2.8125-3.78125v-40c0-2.216-1.784-4-4-4z" fill="url(#j)" opacity=".6"/><path d="m14-18c-2.216 0-4 1.784-4 4v24c0 1.798949 1.184428 3.275003 2.8125 3.78125-1.09126-.454671-1.84375-1.508071-1.84375-2.78125v-24c0-1.697572 1.333678-3.03125 3.03125-3.03125h8c1.697572 0 3.03125 1.333678 3.03125 3.03125v24c0 1.273179-.75249 2.326579-1.84375 2.78125 1.628072-.506247 2.8125-1.982301 2.8125-3.78125v-24c0-2.216-1.784-4-4-4z" fill="url(#i)" opacity=".6"/></g></svg>
\ No newline at end of file
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/signal-050-075.svg b/modules/luci-base/htdocs/luci-static/resources/icons/signal-050-075.svg
new file mode 100644 (file)
index 0000000..52c4d4c
--- /dev/null
@@ -0,0 +1 @@
+<svg height="32" width="32" viewBox="0 0 96 96" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a"><stop offset="0" stop-color="#fff"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></linearGradient><linearGradient id="b"><stop offset="0" stop-color="#395d93"/><stop offset="1" stop-color="#6e92c7"/></linearGradient><linearGradient id="c" gradientUnits="userSpaceOnUse" x1="76" x2="76" y1="14" y2="-66"><stop offset="0" stop-color="#aaa"/><stop offset="1" stop-color="#f0f0f0"/></linearGradient><linearGradient id="d" gradientUnits="userSpaceOnUse" x1="56" x2="56" xlink:href="#b" y1="14" y2="-50"/><linearGradient id="e" gradientUnits="userSpaceOnUse" x1="44" x2="44" xlink:href="#b" y1="14" y2="-34"/><linearGradient id="f" gradientUnits="userSpaceOnUse" x1="16" x2="16" xlink:href="#b" y1="14" y2="-18"/><linearGradient id="g" gradientUnits="userSpaceOnUse" x1="78" x2="78" xlink:href="#a" y1="-66" y2="6.027772"/><linearGradient id="h" gradientUnits="userSpaceOnUse" x1="19" x2="19" xlink:href="#a" y1="-18" y2="14.140317"/><linearGradient id="i" gradientUnits="userSpaceOnUse" x1="37" x2="37" xlink:href="#a" y1="-34" y2="14.010415"/><linearGradient id="j" gradientUnits="userSpaceOnUse" x1="57" x2="57" xlink:href="#a" y1="-50" y2="14.007812"/><g transform="translate(0 74)"><path d="m74-67.96875c-3.827486 0-6.96875 3.141264-6.96875 6.96875v11.28125c-1.274027-1.358769-3.036218-2.25-5.03125-2.25h-8c-3.827486 0-6.96875 3.141264-6.96875 6.96875v11.28125c-1.274027-1.358769-3.036218-2.25-5.03125-2.25h-8c-3.827486 0-6.96875 3.141264-6.96875 6.96875v11.28125c-1.274027-1.358769-3.036218-2.25-5.03125-2.25h-8c-3.827486 0-6.96875 3.141264-6.96875 6.96875v24c0 3.827486 3.141264 6.96875 6.96875 6.96875h8c2.611074 0 4.807585-1.51241 6-3.65625 1.192415 2.14384 3.388926 3.65625 6 3.65625h8c2.611074 0 4.807585-1.51241 6-3.65625 1.192415 2.14384 3.388926 3.65625 6 3.65625h8c2.611074 0 4.807585-1.51241 6-3.65625 1.192415 2.14384 3.388926 3.65625 6 3.65625h8c3.827486 0 6.96875-3.141264 6.96875-6.96875v-72c0-3.827486-3.141264-6.96875-6.96875-6.96875z" opacity=".08"/><path d="m74-66.96875c-3.283091 0-5.96875 2.685659-5.96875 5.96875v72c0 3.283091 2.685659 5.96875 5.96875 5.96875h8c3.283091 0 5.96875-2.685659 5.96875-5.96875v-72c0-3.283091-2.685659-5.96875-5.96875-5.96875zm-20 16c-3.283091 0-5.96875 2.685659-5.96875 5.96875v56c0 3.283091 2.685659 5.96875 5.96875 5.96875h8c3.283091 0 5.96875-2.685659 5.96875-5.96875v-56c0-3.283091-2.685659-5.96875-5.96875-5.96875zm-20 16c-3.283091 0-5.96875 2.685659-5.96875 5.96875v40c0 3.283091 2.685659 5.96875 5.96875 5.96875h8c3.283091 0 5.96875-2.685659 5.96875-5.96875v-40c0-3.283091-2.685659-5.96875-5.96875-5.96875zm-20 16c-3.283091 0-5.96875 2.685659-5.96875 5.96875v24c0 3.283091 2.685659 5.96875 5.96875 5.96875h8c3.283091 0 5.96875-2.685659 5.96875-5.96875v-24c0-3.283091-2.685659-5.96875-5.96875-5.96875z" opacity=".1"/><path d="m74-66.03125c-2.763365 0-5.03125 2.267885-5.03125 5.03125v72c0 2.763365 2.267885 5.03125 5.03125 5.03125h8c2.763365 0 5.03125-2.267885 5.03125-5.03125v-72c0-2.763365-2.267885-5.03125-5.03125-5.03125zm-20 16c-2.763365 0-5.03125 2.267885-5.03125 5.03125v56c0 2.763365 2.267885 5.03125 5.03125 5.03125h8c2.763365 0 5.03125-2.267885 5.03125-5.03125v-56c0-2.763365-2.267885-5.03125-5.03125-5.03125zm-20 16c-2.763365 0-5.03125 2.267885-5.03125 5.03125v40c0 2.763365 2.267885 5.03125 5.03125 5.03125h8c2.763365 0 5.03125-2.267885 5.03125-5.03125v-40c0-2.763365-2.267885-5.03125-5.03125-5.03125zm-20 16c-2.763365 0-5.03125 2.267885-5.03125 5.03125v24c0 2.763365 2.267885 5.03125 5.03125 5.03125h8c2.763365 0 5.03125-2.267885 5.03125-5.03125v-24c0-2.763365-2.267885-5.03125-5.03125-5.03125z" opacity=".15"/><path d="m74-65c-2.216 0-4 1.784-4 4v72c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-72c0-2.216-1.784-4-4-4zm-20 16c-2.216 0-4 1.784-4 4v56c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-56c0-2.216-1.784-4-4-4zm-20 16c-2.216 0-4 1.784-4 4v40c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-40c0-2.216-1.784-4-4-4zm-20 16c-2.216 0-4 1.784-4 4v24c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-24c0-2.216-1.784-4-4-4z" opacity=".3"/><rect fill="url(#c)" height="80" rx="4" width="16" x="70" y="-66"/><rect fill="url(#d)" height="64" rx="4" width="16" x="50" y="-50"/><rect fill="url(#e)" height="48" rx="4" width="16" x="30" y="-34"/><rect fill="url(#f)" height="32" rx="4" width="16" x="10" y="-18"/><path d="m74-66c-2.216 0-4 1.784-4 4v72c0 1.798949 1.184428 3.275003 2.8125 3.78125-1.09126-.454671-1.84375-1.508071-1.84375-2.78125v-72c0-1.697572 1.333678-3.03125 3.03125-3.03125h8c1.697572 0 3.03125 1.333678 3.03125 3.03125v72c0 1.273179-.75249 2.326579-1.84375 2.78125 1.628072-.506247 2.8125-1.982301 2.8125-3.78125v-72c0-2.216-1.784-4-4-4z" fill="url(#g)" opacity=".6"/><path d="m54-50c-2.216 0-4 1.784-4 4v56c0 1.798949 1.184428 3.275003 2.8125 3.78125-1.09126-.454671-1.84375-1.508071-1.84375-2.78125v-56c0-1.697572 1.333678-3.03125 3.03125-3.03125h8c1.697572 0 3.03125 1.333678 3.03125 3.03125v56c0 1.273179-.75249 2.326579-1.84375 2.78125 1.628072-.506247 2.8125-1.982301 2.8125-3.78125v-56c0-2.216-1.784-4-4-4z" fill="url(#j)" opacity=".6"/><path d="m34-34c-2.216 0-4 1.784-4 4v40c0 1.798949 1.184428 3.275003 2.8125 3.78125-1.09126-.454671-1.84375-1.508071-1.84375-2.78125v-40c0-1.697572 1.333678-3.03125 3.03125-3.03125h8c1.697572 0 3.03125 1.333678 3.03125 3.03125v40c0 1.273179-.75249 2.326579-1.84375 2.78125 1.628072-.506247 2.8125-1.982301 2.8125-3.78125v-40c0-2.216-1.784-4-4-4z" fill="url(#i)" opacity=".6"/><path d="m14-18c-2.216 0-4 1.784-4 4v24c0 1.798949 1.184428 3.275003 2.8125 3.78125-1.09126-.454671-1.84375-1.508071-1.84375-2.78125v-24c0-1.697572 1.333678-3.03125 3.03125-3.03125h8c1.697572 0 3.03125 1.333678 3.03125 3.03125v24c0 1.273179-.75249 2.326579-1.84375 2.78125 1.628072-.506247 2.8125-1.982301 2.8125-3.78125v-24c0-2.216-1.784-4-4-4z" fill="url(#h)" opacity=".6"/></g></svg>
\ No newline at end of file
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/signal-075-100.svg b/modules/luci-base/htdocs/luci-static/resources/icons/signal-075-100.svg
new file mode 100644 (file)
index 0000000..7b0cff4
--- /dev/null
@@ -0,0 +1 @@
+<svg height="32" width="32" viewBox="0 0 96 96" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a"><stop offset="0" stop-color="#fff"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></linearGradient><linearGradient id="b"><stop offset="0" stop-color="#395d93"/><stop offset="1" stop-color="#6e92c7"/></linearGradient><linearGradient id="c" gradientUnits="userSpaceOnUse" x1="76" x2="76" xlink:href="#b" y1="14" y2="-66"/><linearGradient id="d" gradientUnits="userSpaceOnUse" x1="56" x2="56" xlink:href="#b" y1="14" y2="-50"/><linearGradient id="e" gradientUnits="userSpaceOnUse" x1="44" x2="44" xlink:href="#b" y1="14" y2="-34"/><linearGradient id="f" gradientUnits="userSpaceOnUse" x1="16" x2="16" xlink:href="#b" y1="14" y2="-18"/><linearGradient id="g" gradientUnits="userSpaceOnUse" x1="78" x2="78" xlink:href="#a" y1="-66" y2="6.027772"/><linearGradient id="h" gradientUnits="userSpaceOnUse" x1="19" x2="19" xlink:href="#a" y1="-18" y2="14.140317"/><linearGradient id="i" gradientUnits="userSpaceOnUse" x1="37" x2="37" xlink:href="#a" y1="-34" y2="14.010415"/><linearGradient id="j" gradientUnits="userSpaceOnUse" x1="57" x2="57" xlink:href="#a" y1="-50" y2="14.007812"/><g transform="translate(0 74)"><path d="m74-67.96875c-3.827486 0-6.96875 3.141264-6.96875 6.96875v11.28125c-1.274027-1.358769-3.036218-2.25-5.03125-2.25h-8c-3.827486 0-6.96875 3.141264-6.96875 6.96875v11.28125c-1.274027-1.358769-3.036218-2.25-5.03125-2.25h-8c-3.827486 0-6.96875 3.141264-6.96875 6.96875v11.28125c-1.274027-1.358769-3.036218-2.25-5.03125-2.25h-8c-3.827486 0-6.96875 3.141264-6.96875 6.96875v24c0 3.827486 3.141264 6.96875 6.96875 6.96875h8c2.611074 0 4.807585-1.51241 6-3.65625 1.192415 2.14384 3.388926 3.65625 6 3.65625h8c2.611074 0 4.807585-1.51241 6-3.65625 1.192415 2.14384 3.388926 3.65625 6 3.65625h8c2.611074 0 4.807585-1.51241 6-3.65625 1.192415 2.14384 3.388926 3.65625 6 3.65625h8c3.827486 0 6.96875-3.141264 6.96875-6.96875v-72c0-3.827486-3.141264-6.96875-6.96875-6.96875z" opacity=".08"/><path d="m74-66.96875c-3.283091 0-5.96875 2.685659-5.96875 5.96875v72c0 3.283091 2.685659 5.96875 5.96875 5.96875h8c3.283091 0 5.96875-2.685659 5.96875-5.96875v-72c0-3.283091-2.685659-5.96875-5.96875-5.96875zm-20 16c-3.283091 0-5.96875 2.685659-5.96875 5.96875v56c0 3.283091 2.685659 5.96875 5.96875 5.96875h8c3.283091 0 5.96875-2.685659 5.96875-5.96875v-56c0-3.283091-2.685659-5.96875-5.96875-5.96875zm-20 16c-3.283091 0-5.96875 2.685659-5.96875 5.96875v40c0 3.283091 2.685659 5.96875 5.96875 5.96875h8c3.283091 0 5.96875-2.685659 5.96875-5.96875v-40c0-3.283091-2.685659-5.96875-5.96875-5.96875zm-20 16c-3.283091 0-5.96875 2.685659-5.96875 5.96875v24c0 3.283091 2.685659 5.96875 5.96875 5.96875h8c3.283091 0 5.96875-2.685659 5.96875-5.96875v-24c0-3.283091-2.685659-5.96875-5.96875-5.96875z" opacity=".1"/><path d="m74-66.03125c-2.763365 0-5.03125 2.267885-5.03125 5.03125v72c0 2.763365 2.267885 5.03125 5.03125 5.03125h8c2.763365 0 5.03125-2.267885 5.03125-5.03125v-72c0-2.763365-2.267885-5.03125-5.03125-5.03125zm-20 16c-2.763365 0-5.03125 2.267885-5.03125 5.03125v56c0 2.763365 2.267885 5.03125 5.03125 5.03125h8c2.763365 0 5.03125-2.267885 5.03125-5.03125v-56c0-2.763365-2.267885-5.03125-5.03125-5.03125zm-20 16c-2.763365 0-5.03125 2.267885-5.03125 5.03125v40c0 2.763365 2.267885 5.03125 5.03125 5.03125h8c2.763365 0 5.03125-2.267885 5.03125-5.03125v-40c0-2.763365-2.267885-5.03125-5.03125-5.03125zm-20 16c-2.763365 0-5.03125 2.267885-5.03125 5.03125v24c0 2.763365 2.267885 5.03125 5.03125 5.03125h8c2.763365 0 5.03125-2.267885 5.03125-5.03125v-24c0-2.763365-2.267885-5.03125-5.03125-5.03125z" opacity=".15"/><path d="m74-65c-2.216 0-4 1.784-4 4v72c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-72c0-2.216-1.784-4-4-4zm-20 16c-2.216 0-4 1.784-4 4v56c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-56c0-2.216-1.784-4-4-4zm-20 16c-2.216 0-4 1.784-4 4v40c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-40c0-2.216-1.784-4-4-4zm-20 16c-2.216 0-4 1.784-4 4v24c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-24c0-2.216-1.784-4-4-4z" opacity=".3"/><rect fill="url(#c)" height="80" rx="4" width="16" x="70" y="-66"/><rect fill="url(#d)" height="64" rx="4" width="16" x="50" y="-50"/><rect fill="url(#e)" height="48" rx="4" width="16" x="30" y="-34"/><rect fill="url(#f)" height="32" rx="4" width="16" x="10" y="-18"/><path d="m74-66c-2.216 0-4 1.784-4 4v72c0 1.798949 1.184428 3.275003 2.8125 3.78125-1.09126-.454671-1.84375-1.508071-1.84375-2.78125v-72c0-1.697572 1.333678-3.03125 3.03125-3.03125h8c1.697572 0 3.03125 1.333678 3.03125 3.03125v72c0 1.273179-.75249 2.326579-1.84375 2.78125 1.628072-.506247 2.8125-1.982301 2.8125-3.78125v-72c0-2.216-1.784-4-4-4z" fill="url(#g)" opacity=".6"/><path d="m54-50c-2.216 0-4 1.784-4 4v56c0 1.798949 1.184428 3.275003 2.8125 3.78125-1.09126-.454671-1.84375-1.508071-1.84375-2.78125v-56c0-1.697572 1.333678-3.03125 3.03125-3.03125h8c1.697572 0 3.03125 1.333678 3.03125 3.03125v56c0 1.273179-.75249 2.326579-1.84375 2.78125 1.628072-.506247 2.8125-1.982301 2.8125-3.78125v-56c0-2.216-1.784-4-4-4z" fill="url(#j)" opacity=".6"/><path d="m34-34c-2.216 0-4 1.784-4 4v40c0 1.798949 1.184428 3.275003 2.8125 3.78125-1.09126-.454671-1.84375-1.508071-1.84375-2.78125v-40c0-1.697572 1.333678-3.03125 3.03125-3.03125h8c1.697572 0 3.03125 1.333678 3.03125 3.03125v40c0 1.273179-.75249 2.326579-1.84375 2.78125 1.628072-.506247 2.8125-1.982301 2.8125-3.78125v-40c0-2.216-1.784-4-4-4z" fill="url(#i)" opacity=".6"/><path d="m14-18c-2.216 0-4 1.784-4 4v24c0 1.798949 1.184428 3.275003 2.8125 3.78125-1.09126-.454671-1.84375-1.508071-1.84375-2.78125v-24c0-1.697572 1.333678-3.03125 3.03125-3.03125h8c1.697572 0 3.03125 1.333678 3.03125 3.03125v24c0 1.273179-.75249 2.326579-1.84375 2.78125 1.628072-.506247 2.8125-1.982301 2.8125-3.78125v-24c0-2.216-1.784-4-4-4z" fill="url(#h)" opacity=".6"/></g></svg>
\ No newline at end of file
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/signal-25-50.png b/modules/luci-base/htdocs/luci-static/resources/icons/signal-25-50.png
deleted file mode 100644 (file)
index 43387ff..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/signal-25-50.png and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/signal-50-75.png b/modules/luci-base/htdocs/luci-static/resources/icons/signal-50-75.png
deleted file mode 100644 (file)
index 48eeaa8..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/signal-50-75.png and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/signal-75-100.png b/modules/luci-base/htdocs/luci-static/resources/icons/signal-75-100.png
deleted file mode 100644 (file)
index fd7a80d..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/signal-75-100.png and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/signal-none.png b/modules/luci-base/htdocs/luci-static/resources/icons/signal-none.png
deleted file mode 100644 (file)
index 944dd09..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/signal-none.png and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/signal-none.svg b/modules/luci-base/htdocs/luci-static/resources/icons/signal-none.svg
new file mode 100644 (file)
index 0000000..d9a514a
--- /dev/null
@@ -0,0 +1 @@
+<svg height="32" width="32" viewBox="0 0 96 96" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a"><stop offset="0" stop-color="#fff"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></linearGradient><linearGradient id="b"><stop offset="0" stop-color="#aaa"/><stop offset="1" stop-color="#f0f0f0"/></linearGradient><linearGradient id="c" gradientUnits="userSpaceOnUse" x1="76" x2="76" xlink:href="#b" y1="14" y2="-66"/><linearGradient id="d" gradientUnits="userSpaceOnUse" x1="56" x2="56" xlink:href="#b" y1="14" y2="-50"/><linearGradient id="e" gradientUnits="userSpaceOnUse" x1="44" x2="44" xlink:href="#b" y1="14" y2="-34"/><linearGradient id="f" gradientUnits="userSpaceOnUse" x1="16" x2="16" xlink:href="#b" y1="14" y2="-18"/><linearGradient id="g" gradientUnits="userSpaceOnUse" x1="78" x2="78" xlink:href="#a" y1="-66" y2="6.028"/><linearGradient id="h" gradientUnits="userSpaceOnUse" x1="19" x2="19" xlink:href="#a" y1="-18" y2="14.14"/><linearGradient id="i" gradientUnits="userSpaceOnUse" x1="37" x2="37" xlink:href="#a" y1="-34" y2="14.01"/><linearGradient id="j" gradientUnits="userSpaceOnUse" x1="57" x2="57" xlink:href="#a" y1="-50" y2="14.01"/><g transform="translate(0 74)"><path d="m74-67.97c-3.827 0-6.969 3.141-6.969 6.969v11.28c-1.274-1.359-3.036-2.25-5.031-2.25h-8c-3.827 0-6.969 3.141-6.969 6.969v11.28c-1.274-1.359-3.036-2.25-5.031-2.25h-8c-3.827 0-6.969 3.141-6.969 6.969v11.28c-1.274-1.359-3.036-2.25-5.031-2.25h-8c-3.827 0-6.969 3.141-6.969 6.969v24c0 3.827 3.141 6.969 6.969 6.969h8c2.611 0 4.808-1.512 6-3.656 1.192 2.144 3.389 3.656 6 3.656h8c2.611 0 4.808-1.512 6-3.656 1.192 2.144 3.389 3.656 6 3.656h8c2.611 0 4.808-1.512 6-3.656 1.192 2.144 3.389 3.656 6 3.656h8c3.827 0 6.969-3.141 6.969-6.969v-72c0-3.827-3.141-6.969-6.969-6.969h-8z" opacity=".08"/><path d="m74-66.97c-3.283 0-5.969 2.686-5.969 5.969v72c0 3.283 2.686 5.969 5.969 5.969h8c3.283 0 5.969-2.686 5.969-5.969v-72c0-3.283-2.686-5.969-5.969-5.969zm-20 16c-3.283 0-5.969 2.686-5.969 5.969v56c0 3.283 2.686 5.969 5.969 5.969h8c3.283 0 5.969-2.686 5.969-5.969v-56c0-3.283-2.686-5.969-5.969-5.969zm-20 16c-3.283 0-5.969 2.686-5.969 5.969v40c0 3.283 2.686 5.969 5.969 5.969h8c3.283 0 5.969-2.686 5.969-5.969v-40c0-3.283-2.686-5.969-5.969-5.969zm-20 16c-3.283 0-5.969 2.686-5.969 5.969v24c0 3.283 2.686 5.969 5.969 5.969h8c3.283 0 5.969-2.686 5.969-5.969v-24c0-3.283-2.686-5.969-5.969-5.969z" opacity=".1"/><path d="m74-66.03c-2.763 0-5.031 2.268-5.031 5.031v72c0 2.763 2.268 5.031 5.031 5.031h8c2.763 0 5.031-2.268 5.031-5.031v-72c0-2.763-2.268-5.031-5.031-5.031zm-20 16c-2.763 0-5.031 2.268-5.031 5.031v56c0 2.763 2.268 5.031 5.031 5.031h8c2.763 0 5.031-2.268 5.031-5.031v-56c0-2.763-2.268-5.031-5.031-5.031zm-20 16c-2.763 0-5.031 2.268-5.031 5.031v40c0 2.763 2.268 5.031 5.031 5.031h8c2.763 0 5.031-2.268 5.031-5.031v-40c0-2.763-2.268-5.031-5.031-5.031zm-20 16c-2.763 0-5.031 2.268-5.031 5.031v24c0 2.763 2.268 5.031 5.031 5.031h8c2.763 0 5.031-2.268 5.031-5.031v-24c0-2.763-2.268-5.031-5.031-5.031z" opacity=".15"/><path d="m74-65c-2.216 0-4 1.784-4 4v72c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-72c0-2.216-1.784-4-4-4zm-20 16c-2.216 0-4 1.784-4 4v56c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-56c0-2.216-1.784-4-4-4zm-20 16c-2.216 0-4 1.784-4 4v40c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-40c0-2.216-1.784-4-4-4zm-20 16c-2.216 0-4 1.784-4 4v24c0 2.216 1.784 4 4 4h8c2.216 0 4-1.784 4-4v-24c0-2.216-1.784-4-4-4z" opacity=".3"/><rect fill="url(#c)" height="80" rx="4" width="16" x="70" y="-66"/><rect fill="url(#d)" height="64" rx="4" width="16" x="50" y="-50"/><rect fill="url(#e)" height="48" rx="4" width="16" x="30" y="-34"/><rect fill="url(#f)" height="32" rx="4" width="16" x="10" y="-18"/><path d="m74-66c-2.216 0-4 1.784-4 4v72c0 1.799 1.184 3.275 2.812 3.781-1.091-.4547-1.844-1.508-1.844-2.781v-72c0-1.698 1.334-3.031 3.031-3.031h8c1.698 0 3.031 1.334 3.031 3.031v72c0 1.273-.7525 2.327-1.844 2.781 1.628-.5062 2.812-1.982 2.812-3.781v-72c0-2.216-1.784-4-4-4h-8z" fill="url(#g)" opacity=".6"/><path d="m54-50c-2.216 0-4 1.784-4 4v56c0 1.799 1.184 3.275 2.812 3.781-1.091-.4547-1.844-1.508-1.844-2.781v-56c0-1.698 1.334-3.031 3.031-3.031h8c1.698 0 3.031 1.334 3.031 3.031v56c0 1.273-.7525 2.327-1.844 2.781 1.628-.5062 2.812-1.982 2.812-3.781v-56c0-2.216-1.784-4-4-4h-8z" fill="url(#j)" opacity=".6"/><path d="m34-34c-2.216 0-4 1.784-4 4v40c0 1.799 1.184 3.275 2.812 3.781-1.091-.4547-1.844-1.508-1.844-2.781v-40c0-1.698 1.334-3.031 3.031-3.031h8c1.698 0 3.031 1.334 3.031 3.031v40c0 1.273-.7525 2.327-1.844 2.781 1.628-.5062 2.812-1.982 2.812-3.781v-40c0-2.216-1.784-4-4-4h-8z" fill="url(#i)" opacity=".6"/><path d="m14-18c-2.216 0-4 1.784-4 4v24c0 1.799 1.184 3.275 2.812 3.781-1.091-.4547-1.844-1.508-1.844-2.781v-24c0-1.698 1.334-3.031 3.031-3.031h8c1.698 0 3.031 1.334 3.031 3.031v24c0 1.273-.7525 2.327-1.844 2.781 1.628-.5062 2.812-1.982 2.812-3.781v-24c0-2.216-1.784-4-4-4h-8z" fill="url(#h)" opacity=".6"/><path d="m41.5-36.18c-3.961 3.886-9.578-8.419-15.13-8.473-5.551-.05-11.4 12.14-15.29 8.186-3.887-3.959 8.418-9.58 8.469-15.13.05-5.548-12.14-11.4-8.183-15.29 3.959-3.887 9.587 8.418 15.13 8.473 5.548.05 11.4-12.14 15.29-8.187 3.89 3.959-8.417 9.587-8.467 15.13-.05 5.544 12.14 11.4 8.184 15.3z" fill="#f00" stroke-width=".2519"/></g></svg>
\ No newline at end of file
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/switch.png b/modules/luci-base/htdocs/luci-static/resources/icons/switch.png
deleted file mode 100644 (file)
index 5c780fe..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/switch.png and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/switch.svg b/modules/luci-base/htdocs/luci-static/resources/icons/switch.svg
new file mode 100644 (file)
index 0000000..640c6eb
--- /dev/null
@@ -0,0 +1 @@
+<svg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient id="c"><stop stop-color="#fff" offset="0"/><stop stop-color="#fff" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="a"><stop stop-color="#edd400" offset="0"/><stop stop-color="#edd400" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="linearGradient7887" x1="-7.975" x2="-11.01" y1="25.36" y2="-6.568" gradientTransform="matrix(2 0 0 1.933 43.5 .5333)" gradientUnits="userSpaceOnUse"><stop stop-color="#d3d7cf" offset="0"/><stop stop-color="#fff" offset="1"/></linearGradient><linearGradient id="linearGradient7889" x1="-7.852" x2="-5.51" y1="3.755" y2="18.94" gradientUnits="userSpaceOnUse" xlink:href="#c"/><linearGradient id="linearGradient7907" x1="32.81" x2="32.81" y1="21" y2="26.2" gradientTransform="matrix(1.088 0 0 1.086 -1.581 -8.943)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient7340-6"/><linearGradient id="linearGradient7340-6"><stop stop-color="#2e3436" offset="0"/><stop stop-color="#555753" offset="1"/></linearGradient><linearGradient id="linearGradient7909" x1="28.88" x2="29" y1="29" y2="16" gradientTransform="translate(1,-7)" gradientUnits="userSpaceOnUse" xlink:href="#c"/><linearGradient id="linearGradient51" x1="30.31" x2="30.31" y1="27.31" y2="24.69" gradientUnits="userSpaceOnUse" xlink:href="#a"/><linearGradient id="linearGradient54" x1="30.31" x2="30.31" y1="27.31" y2="24.69" gradientTransform="translate(-3.998)" gradientUnits="userSpaceOnUse" xlink:href="#a"/></defs><g transform="matrix(1.35 0 0 1.35 -18.75 -1.288)" enable-background="new"><rect x="14.5" y="1.5" width="32" height="29" rx="2.877" ry="2.781" fill="url(#linearGradient7887)" fill-rule="evenodd" stroke="#888a85" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9924"/><path transform="matrix(2.143 0 0 2.087 44.43 -.6302)" d="m-12.5 1.498c-0.573 0-1.002 0.429-1.002 1.002v11c0 0.573 0.429 1.002 1.002 1.002h12c0.573 0 1.002-0.429 1.002-1.002v-11c0-0.573-0.429-1.002-1.002-1.002z" fill="none" stroke="url(#linearGradient7889)" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9924" stroke-width=".4729"/><g transform="translate(-6.823 -6.052)"><path d="m29.48 10.07c-0.639 0-1.155 0.516-1.155 1.154v0.288c0 0.293-0.229 0.543-0.544 0.543h-1.563c-0.639 0-1.155 0.704-1.155 1.342v6.445c0 0.638 0.516 1.154 1.155 1.154h8.564c0.639 0 1.155-0.516 1.155-1.154v-6.445c0-0.638-0.516-1.342-1.155-1.342h-1.563c-0.262 0.02-0.544-0.186-0.544-0.526v-0.305c0-0.638-0.516-1.154-1.155-1.154z" fill="url(#linearGradient7907)" fill-rule="evenodd"/><g fill="none" stroke-linecap="round"><path d="m29.56 9.438c-1.109 0-1.984 0.9085-2.062 2h-0.938c-1.159 0-2.125 0.965-2.125 2.125v5.874c0 1.16 0.966 2.125 2.125 2.125h7.876c1.159 0 2.125-0.965 2.125-2.125v-5.874c0-1.16-0.966-2.125-2.125-2.125h-0.938c-0.078-1.092-0.953-2-2.063-2z" stroke="url(#linearGradient7909)" stroke-dashoffset=".7"/><g stroke="url(#linearGradient51)" stroke-width="1px"><path transform="translate(.9997 -8)" d="m26.5 26.5v-2"/><path transform="translate(.9997 -8)" d="m30.5 26.5v-2"/><path transform="translate(.9997 -8)" d="m32.5 26.5v-2"/></g><path transform="translate(.9997 -8)" d="m28.5 26.5v-2" stroke="url(#linearGradient54)" stroke-width="1px"/></g></g><g transform="translate(6.991 -6.052)"><path d="m29.48 10.07c-0.639 0-1.155 0.516-1.155 1.154v0.288c0 0.293-0.229 0.543-0.544 0.543h-1.563c-0.639 0-1.155 0.704-1.155 1.342v6.445c0 0.638 0.516 1.154 1.155 1.154h8.564c0.639 0 1.155-0.516 1.155-1.154v-6.445c0-0.638-0.516-1.342-1.155-1.342h-1.563c-0.262 0.02-0.544-0.186-0.544-0.526v-0.305c0-0.638-0.516-1.154-1.155-1.154z" fill="url(#linearGradient7907)" fill-rule="evenodd"/><g fill="none" stroke-linecap="round"><path d="m29.56 9.438c-1.109 0-1.984 0.9085-2.062 2h-0.938c-1.159 0-2.125 0.965-2.125 2.125v5.874c0 1.16 0.966 2.125 2.125 2.125h7.876c1.159 0 2.125-0.965 2.125-2.125v-5.874c0-1.16-0.966-2.125-2.125-2.125h-0.938c-0.078-1.092-0.953-2-2.063-2z" stroke="url(#linearGradient7909)" stroke-dashoffset=".7"/><g stroke="url(#linearGradient51)" stroke-width="1px"><path transform="translate(.9997 -8)" d="m26.5 26.5v-2"/><path transform="translate(.9997 -8)" d="m30.5 26.5v-2"/><path transform="translate(.9997 -8)" d="m32.5 26.5v-2"/></g><path transform="translate(.9997 -8)" d="m28.5 26.5v-2" stroke="url(#linearGradient54)" stroke-width="1px"/></g></g><g transform="matrix(1 0 0 -1 -6.823 38.54)"><path d="m29.48 10.07c-0.639 0-1.155 0.516-1.155 1.154v0.288c0 0.293-0.229 0.543-0.544 0.543h-1.563c-0.639 0-1.155 0.704-1.155 1.342v6.445c0 0.638 0.516 1.154 1.155 1.154h8.564c0.639 0 1.155-0.516 1.155-1.154v-6.445c0-0.638-0.516-1.342-1.155-1.342h-1.563c-0.262 0.02-0.544-0.186-0.544-0.526v-0.305c0-0.638-0.516-1.154-1.155-1.154z" fill="url(#linearGradient7907)" fill-rule="evenodd"/><g fill="none" stroke-linecap="round"><path d="m29.56 9.438c-1.109 0-1.984 0.9085-2.062 2h-0.938c-1.159 0-2.125 0.965-2.125 2.125v5.874c0 1.16 0.966 2.125 2.125 2.125h7.876c1.159 0 2.125-0.965 2.125-2.125v-5.874c0-1.16-0.966-2.125-2.125-2.125h-0.938c-0.078-1.092-0.953-2-2.063-2z" stroke="url(#linearGradient7909)" stroke-dashoffset=".7"/><g stroke="url(#linearGradient51)" stroke-width="1px"><path transform="translate(.9997 -8)" d="m26.5 26.5v-2"/><path transform="translate(.9997 -8)" d="m30.5 26.5v-2"/><path transform="translate(.9997 -8)" d="m32.5 26.5v-2"/></g><path transform="translate(.9997 -8)" d="m28.5 26.5v-2" stroke="url(#linearGradient54)" stroke-width="1px"/></g></g><g transform="matrix(1 0 0 -1 6.991 38.54)"><path d="m29.48 10.07c-0.639 0-1.155 0.516-1.155 1.154v0.288c0 0.293-0.229 0.543-0.544 0.543h-1.563c-0.639 0-1.155 0.704-1.155 1.342v6.445c0 0.638 0.516 1.154 1.155 1.154h8.564c0.639 0 1.155-0.516 1.155-1.154v-6.445c0-0.638-0.516-1.342-1.155-1.342h-1.563c-0.262 0.02-0.544-0.186-0.544-0.526v-0.305c0-0.638-0.516-1.154-1.155-1.154z" fill="url(#linearGradient7907)" fill-rule="evenodd"/><g fill="none" stroke-linecap="round"><path d="m29.56 9.438c-1.109 0-1.984 0.9085-2.062 2h-0.938c-1.159 0-2.125 0.965-2.125 2.125v5.874c0 1.16 0.966 2.125 2.125 2.125h7.876c1.159 0 2.125-0.965 2.125-2.125v-5.874c0-1.16-0.966-2.125-2.125-2.125h-0.938c-0.078-1.092-0.953-2-2.063-2z" stroke="url(#linearGradient7909)" stroke-dashoffset=".7"/><g stroke="url(#linearGradient51)" stroke-width="1px"><path transform="translate(.9997 -8)" d="m26.5 26.5v-2"/><path transform="translate(.9997 -8)" d="m30.5 26.5v-2"/><path transform="translate(.9997 -8)" d="m32.5 26.5v-2"/></g><path transform="translate(.9997 -8)" d="m28.5 26.5v-2" stroke="url(#linearGradient54)" stroke-width="1px"/></g></g></g></svg>
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/switch_disabled.png b/modules/luci-base/htdocs/luci-static/resources/icons/switch_disabled.png
deleted file mode 100644 (file)
index a069afe..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/switch_disabled.png and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/switch_disabled.svg b/modules/luci-base/htdocs/luci-static/resources/icons/switch_disabled.svg
new file mode 100644 (file)
index 0000000..3833c5a
--- /dev/null
@@ -0,0 +1 @@
+<svg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient id="c"><stop stop-color="#fff" offset="0"/><stop stop-color="#fff" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="a"><stop stop-color="#edd400" offset="0"/><stop stop-color="#edd400" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="linearGradient7887" x1="-7.975" x2="-11.01" y1="25.36" y2="-6.568" gradientTransform="matrix(2 0 0 1.933 43.5 .5333)" gradientUnits="userSpaceOnUse"><stop stop-color="#d3d7cf" offset="0"/><stop stop-color="#fff" offset="1"/></linearGradient><linearGradient id="linearGradient7889" x1="-7.852" x2="-5.51" y1="3.755" y2="18.94" gradientUnits="userSpaceOnUse" xlink:href="#c"/><linearGradient id="linearGradient7909" x1="28.88" x2="29" y1="29" y2="16" gradientTransform="translate(1,-7)" gradientUnits="userSpaceOnUse" xlink:href="#c"/><linearGradient x1="30.31" x2="30.31" y1="27.31" y2="24.69" gradientUnits="userSpaceOnUse" xlink:href="#a"/></defs><g transform="matrix(1.35 0 0 1.35 -18.75 -1.288)" enable-background="new"><rect x="14.5" y="1.5" width="32" height="29" rx="2.877" ry="2.781" fill="url(#linearGradient7887)" fill-rule="evenodd" stroke="#888a85" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9924"/><path transform="matrix(2.143 0 0 2.087 44.43 -.6302)" d="m-12.5 1.498c-0.573 0-1.002 0.429-1.002 1.002v11c0 0.573 0.429 1.002 1.002 1.002h12c0.573 0 1.002-0.429 1.002-1.002v-11c0-0.573-0.429-1.002-1.002-1.002z" fill="none" stroke="url(#linearGradient7889)" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9924" stroke-width=".4729"/><g transform="translate(-6.823 -6.052)"><path d="m29.48 10.07c-0.639 0-1.155 0.516-1.155 1.154v0.288c0 0.293-0.229 0.543-0.544 0.543h-1.563c-0.639 0-1.155 0.704-1.155 1.342v6.445c0 0.638 0.516 1.154 1.155 1.154h8.564c0.639 0 1.155-0.516 1.155-1.154v-6.445c0-0.638-0.516-1.342-1.155-1.342h-1.563c-0.262 0.02-0.544-0.186-0.544-0.526v-0.305c0-0.638-0.516-1.154-1.155-1.154z" fill="#999" fill-rule="evenodd"/><path d="m29.56 9.438c-1.109 0-1.984 0.9085-2.062 2h-0.938c-1.159 0-2.125 0.965-2.125 2.125v5.874c0 1.16 0.966 2.125 2.125 2.125h7.876c1.159 0 2.125-0.965 2.125-2.125v-5.874c0-1.16-0.966-2.125-2.125-2.125h-0.938c-0.078-1.092-0.953-2-2.063-2z" fill="none" stroke="url(#linearGradient7909)" stroke-dashoffset=".7" stroke-linecap="round"/></g><g transform="translate(6.991 -6.052)"><path d="m29.48 10.07c-0.639 0-1.155 0.516-1.155 1.154v0.288c0 0.293-0.229 0.543-0.544 0.543h-1.563c-0.639 0-1.155 0.704-1.155 1.342v6.445c0 0.638 0.516 1.154 1.155 1.154h8.564c0.639 0 1.155-0.516 1.155-1.154v-6.445c0-0.638-0.516-1.342-1.155-1.342h-1.563c-0.262 0.02-0.544-0.186-0.544-0.526v-0.305c0-0.638-0.516-1.154-1.155-1.154z" fill="#999" fill-rule="evenodd"/><path d="m29.56 9.438c-1.109 0-1.984 0.9085-2.062 2h-0.938c-1.159 0-2.125 0.965-2.125 2.125v5.874c0 1.16 0.966 2.125 2.125 2.125h7.876c1.159 0 2.125-0.965 2.125-2.125v-5.874c0-1.16-0.966-2.125-2.125-2.125h-0.938c-0.078-1.092-0.953-2-2.063-2z" fill="none" stroke="url(#linearGradient7909)" stroke-dashoffset=".7" stroke-linecap="round"/></g><g transform="matrix(1 0 0 -1 -6.823 38.54)"><path d="m29.48 10.07c-0.639 0-1.155 0.516-1.155 1.154v0.288c0 0.293-0.229 0.543-0.544 0.543h-1.563c-0.639 0-1.155 0.704-1.155 1.342v6.445c0 0.638 0.516 1.154 1.155 1.154h8.564c0.639 0 1.155-0.516 1.155-1.154v-6.445c0-0.638-0.516-1.342-1.155-1.342h-1.563c-0.262 0.02-0.544-0.186-0.544-0.526v-0.305c0-0.638-0.516-1.154-1.155-1.154z" fill="#999" fill-rule="evenodd"/><path d="m29.56 9.438c-1.109 0-1.984 0.9085-2.062 2h-0.938c-1.159 0-2.125 0.965-2.125 2.125v5.874c0 1.16 0.966 2.125 2.125 2.125h7.876c1.159 0 2.125-0.965 2.125-2.125v-5.874c0-1.16-0.966-2.125-2.125-2.125h-0.938c-0.078-1.092-0.953-2-2.063-2z" fill="none" stroke="url(#linearGradient7909)" stroke-dashoffset=".7" stroke-linecap="round"/></g><g transform="matrix(1 0 0 -1 6.991 38.54)"><path d="m29.48 10.07c-0.639 0-1.155 0.516-1.155 1.154v0.288c0 0.293-0.229 0.543-0.544 0.543h-1.563c-0.639 0-1.155 0.704-1.155 1.342v6.445c0 0.638 0.516 1.154 1.155 1.154h8.564c0.639 0 1.155-0.516 1.155-1.154v-6.445c0-0.638-0.516-1.342-1.155-1.342h-1.563c-0.262 0.02-0.544-0.186-0.544-0.526v-0.305c0-0.638-0.516-1.154-1.155-1.154z" fill="#999" fill-rule="evenodd"/><path d="m29.56 9.438c-1.109 0-1.984 0.9085-2.062 2h-0.938c-1.159 0-2.125 0.965-2.125 2.125v5.874c0 1.16 0.966 2.125 2.125 2.125h7.876c1.159 0 2.125-0.965 2.125-2.125v-5.874c0-1.16-0.966-2.125-2.125-2.125h-0.938c-0.078-1.092-0.953-2-2.063-2z" fill="none" stroke="url(#linearGradient7909)" stroke-dashoffset=".7" stroke-linecap="round"/></g></g></svg>
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/tunnel.png b/modules/luci-base/htdocs/luci-static/resources/icons/tunnel.png
deleted file mode 100644 (file)
index 961467f..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/tunnel.png and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/tunnel.svg b/modules/luci-base/htdocs/luci-static/resources/icons/tunnel.svg
new file mode 100644 (file)
index 0000000..6a02230
--- /dev/null
@@ -0,0 +1 @@
+<svg height="32.002" viewBox="0 0 22.731 32.002" width="22.731" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><filter id="filter4684" x="-.09275" y="-.106" width="1.186" height="1.212"><feGaussianBlur stdDeviation="0.71917802"/></filter><linearGradient id="linearGradient3278" x1="-6.411" x2="-10.07" y1="25.76" y2="1.873" gradientTransform="matrix(1.5 0 0 1.4 466.2 52.8)" gradientUnits="userSpaceOnUse"><stop stop-color="#d3d7cf" offset="0"/><stop stop-color="#fff" offset="1"/></linearGradient><linearGradient id="linearGradient4307" x1="25.05" x2="27.76" y1="16.17" y2="24.54" gradientTransform="matrix(1.088 0 0 1.086 424.4 40.06)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient7340-2"/><linearGradient id="linearGradient7340-2"><stop stop-color="#555753" offset="0"/><stop stop-color="#888a85" offset="1"/></linearGradient><linearGradient id="linearGradient4182" x1="326.5" x2="326.5" y1="61.7" y2="60.69" gradientTransform="translate(130)" gradientUnits="userSpaceOnUse"><stop stop-color="#babdb6" offset="0"/><stop stop-color="#fff" offset="1"/></linearGradient><radialGradient id="radialGradient4612" cx="306.5" cy="86.38" r="21.91" gradientTransform="matrix(2.238 -.5404 .1485 .615 -262 204.4)" gradientUnits="userSpaceOnUse"><stop offset="0"/><stop stop-opacity="0" offset="1"/></radialGradient><filter id="filter4618" x="-.07545" y="-.06204" width="1.151" height="1.143"><feGaussianBlur stdDeviation="0.89652215"/></filter><linearGradient id="linearGradient4212" x1="322.3" x2="328.4" y1="62.62" y2="68.74" gradientTransform="matrix(.75 0 0 .8333 211.6 10.42)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient4206"/><linearGradient id="linearGradient4206"><stop stop-color="#fff" offset="0"/><stop stop-color="#babdb6" offset="1"/></linearGradient><linearGradient id="linearGradient4231" x1="325.4" x2="328.4" y1="63.27" y2="68.74" gradientTransform="matrix(.5 0 0 .5 -619.8 -97.75)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient4206"/><linearGradient id="linearGradient4380" x1="320" x2="330.2" y1="60.75" y2="87.75" gradientTransform="translate(130)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient4374"/><linearGradient id="linearGradient4374"><stop stop-color="#fff" offset="0"/><stop stop-color="#fff" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="linearGradient3248-0" x1="-47.16" x2="-46.15" y1="39.38" y2="44.17" gradientTransform="translate(516,50)" gradientUnits="userSpaceOnUse"><stop stop-color="#729fcf" offset="0"/><stop stop-color="#729fcf" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="linearGradient3250-1" x1="-48" x2="-46.75" y1="40.38" y2="45.69" gradientTransform="translate(516,50)" gradientUnits="userSpaceOnUse"><stop stop-color="#3465a4" offset="0"/><stop stop-color="#3465a4" stop-opacity="0" offset="1"/></linearGradient><linearGradient id="linearGradient4501" x1="325.4" x2="328.4" y1="63.27" y2="68.74" gradientTransform="matrix(-.5 0 0 -.5 619.8 97.75)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient4206"/><linearGradient id="linearGradient4604" x1="335.8" x2="336.8" y1="90.5" y2="96" gradientTransform="translate(130)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient4374"/><radialGradient id="radialGradient3533" cx="13.32" cy="114.8" r="16" gradientTransform="matrix(2.993 0 0 .9272 -27.06 9.21)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient2851"/><linearGradient id="linearGradient2851"><stop stop-color="#fff" offset="0"/><stop stop-color="#fff" offset=".2651"/><stop stop-color="#babdb6" offset="1"/></linearGradient><radialGradient id="radialGradient3595" cx="42.17" cy="43.19" r="7.954" gradientTransform="matrix(2.89 0 0 1.133 -114.7 -42.49)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient2851"/></defs><filter id="c" x="-.1411" y="-.1588" width="1.282" height="1.318"><feGaussianBlur stdDeviation=".85"/></filter><filter id="f" x="-.04263" y="-.04513" width="1.085" height="1.09"><feGaussianBlur stdDeviation=".497"/></filter><g transform="matrix(.6588 0 0 .6588 1 -2.635)" enable-background="new"><path transform="translate(0,-103)" d="m17.5 108c-1.366 0-2.484 1.11-2.484 2.48 0 0.24 0.116 0.44 0.179 0.66-1.947 0.33-3.637 1.39-4.765 2.92-0.141-0-0.27-0.1-0.43-0.1h-0.02c0-1.09-0.8939-1.98-1.984-1.98s-1.984 0.89-1.984 1.98c0 0.86 0.5697 1.59 1.346 1.86-0.043 0.1-0.089 0.2-0.1211 0.31-0.2388-0.1-0.4606-0.15-0.7402-0.15-1.124 0-2.052 0.6-2.688 1.43-0.3838-0.25-0.8171-0.43-1.312-0.43-1.366 0-2.484 1.11-2.484 2.48 0 1.37 1.118 2.48 2.484 2.48 0.4954 0 0.9287-0.18 1.312-0.43 0.636 0.83 1.563 1.43 2.688 1.43h0.1c0.686 1.18 1.931 2 3.4 2 0.707 0 1.366-0.21 1.949-0.53 1.258 0.95 2.798 1.53 4.488 1.53 2.007 0 3.811-0.81 5.153-2.1 0.294 0.1 0.588 0.1 0.91 0.1 1.705 0 3.21-0.81 4.215-2.03h0.285c0.633 0 1.204-0.23 1.697-0.57 0.352 0.33 0.783 0.57 1.303 0.57 1.09 0 1.984-0.89 1.984-1.98s-0.894-1.98-1.984-1.98h-0.244c-0.356-1.06-1.257-1.85-2.402-2-0.187-0.37-0.424-0.72-0.692-1.04 0.188-0.31 0.322-0.65 0.322-1.03 0-1.09-0.894-1.98-1.984-1.98-0.751 0-1.322 0.47-1.654 1.09-0.275-0-0.547-0.1-0.846-0.1-0.323 0-0.619 0-0.914 0.1-0.581-0.56-1.259-1.01-2-1.36 0.23-0.37 0.398-0.79 0.398-1.26 0-1.37-1.118-2.48-2.484-2.48z" opacity=".1"/><g transform="translate(0,-104)" stroke-linecap="square" stroke-linejoin="round"><path d="m17.5 108.5c-1.104 0-2 0.9-2 2 0 0.37 0.102 0.73 0.281 1.03-2.143 0.2-4.013 1.37-5.156 3.06-0.202 0-0.407-0.1-0.625-0.1-0.2183 0-0.4231 0-0.625 0.1 0.076-0.18 0.125-0.38 0.125-0.59 0-0.83-0.672-1.5-1.5-1.5s-1.5 0.67-1.5 1.5 0.672 1.5 1.5 1.5c-0.2565 0.34-0.4175 0.77-0.4688 1.22-0.3267-0.12-0.662-0.22-1.031-0.22-1.134 0-2.115 0.63-2.625 1.56-0.3592-0.34-0.8392-0.56-1.375-0.56-1.104 0-2 0.9-2 2s0.896 2 2 2c0.5358 0 1.016-0.22 1.375-0.56 0.5102 0.93 1.492 1.56 2.625 1.56h0.3437c0.555 1.2 1.748 2.03 3.156 2.03 0.725 0 1.41-0.22 1.969-0.59 1.212 1 2.77 1.59 4.468 1.59 1.964 0 3.729-0.82 5-2.13 0.347 0.1 0.694 0.13 1.063 0.13 1.654 0 3.121-0.82 4.031-2.06 0.154 0 0.307 0.1 0.469 0.1 0.674 0 1.3-0.25 1.75-0.69 0.267 0.42 0.722 0.69 1.25 0.69 0.828 0 1.5-0.67 1.5-1.5s-0.672-1.5-1.5-1.5c-0.197 0-0.39 0.1-0.563 0.12-0.181-1.17-1.153-2.09-2.375-2.12-0.24-0.55-0.56-1.05-0.968-1.47 0.253-0.27 0.406-0.63 0.406-1.03 0-0.83-0.672-1.5-1.5-1.5-0.7 0-1.273 0.48-1.438 1.12-0.346-0.1-0.693-0.12-1.062-0.12s-0.716 0-1.063 0.12c-0.717-0.73-1.581-1.32-2.562-1.68 0.381-0.37 0.625-0.87 0.625-1.44 0-1.1-0.896-2-2-2z" fill="url(#radialGradient3533)" stroke="#729fcf"/><path d="m17.5 109.5c-0.558 0-0.99 0.43-0.99 0.99 0 0.19 0.05 0.37 0.136 0.51a1.009 1.009 0 0 1-0.771 1.53c-1.834 0.17-3.435 1.17-4.414 2.62a1.009 1.009 0 0 1-1.09 0.41c-0.165-0-0.279-0.1-0.371-0.1s-0.2064 0-0.3711 0.1a1.009 1.009 0 0 1-0.6406-0.2 1.009 1.009 0 0 1-0.1797 0.73c-0.1391 0.19-0.2431 0.45-0.2754 0.73a1.009 1.009 0 0 1-1.356 0.83c-0.278-0.1-0.4846-0.15-0.6777-0.15-0.7573 0-1.4 0.42-1.74 1.04a1.009 1.009 0 0 1-1.582 0.24c-0.1895-0.18-0.4168-0.28-0.6777-0.28-0.5582 0-0.9902 0.43-0.9902 0.99s0.432 0.99 0.9902 0.99c0.2609 0 0.4882-0.1 0.6777-0.28a1.009 1.009 0 0 1 1.582 0.24c0.3406 0.62 0.9829 1.04 1.74 1.04h0.2266a1.009 1.009 0 0 1 1.033 0.57c0.3983 0.87 1.228 1.45 2.24 1.45 0.524 0 1.015-0.16 1.404-0.42a1.009 1.009 0 0 1 1.209 0.1c1.034 0.86 2.358 1.36 3.824 1.36 1.682 0 3.184-0.7 4.278-1.82a1.009 1.009 0 0 1 0.939-0.28c0.298 0.1 0.566 0.1 0.846 0.1 1.32 0 2.488-0.66 3.219-1.65a1.009 1.009 0 0 1 1.002-0.39h0.279c0.421 0 0.795-0.16 1.049-0.4a1.009 1.009 0 0 1 1.547 0.17c0.09 0.15 0.227 0.23 0.404 0.23 0.282 0 0.49-0.21 0.49-0.49s-0.208-0.49-0.49-0.49h-0.188a1.009 1.009 0 0 1-1.373-0.78c-0.11-0.72-0.671-1.25-1.402-1.27a1.009 1.009 0 0 1-0.898-0.6c-0.199-0.45-0.455-0.85-0.77-1.18a1.009 1.009 0 0 1-0.01-1.39c0.08-0.1 0.131-0.2 0.131-0.34 0-0.28-0.208-0.49-0.49-0.49-0.244 0-0.402 0.14-0.459 0.36a1.009 1.009 0 0 1-1.195 0.74c-0.298-0.1-0.566-0.1-0.846-0.1s-0.548 0-0.846 0.1a1.009 1.009 0 0 1-0.939-0.28c-0.623-0.64-1.361-1.14-2.192-1.45a1.009 1.009 0 0 1-0.345-1.67c0.2-0.19 0.312-0.43 0.312-0.71 0-0.56-0.432-0.99-0.99-0.99zm-9.5 4c-0.2822 0-0.4902 0.21-0.4902 0.49s0.208 0.49 0.4902 0.49a1.009 1.009 0 0 1 0.5234 0.2 1.009 1.009 0 0 1-0.078-0.49c0.028-0.1 0.045-0.15 0.045-0.2 0-0.28-0.208-0.49-0.4902-0.49z" fill="none" stroke="#fff"/></g></g><g transform="matrix(.4674 0 0 .4674 -199.3 -20.25)" enable-background="new"><g fill-rule="evenodd"><rect x="445.5" y="54.5" width="24" height="21" rx="1.567" ry="1.567" filter="url(#filter4684)" opacity=".1907" stroke="#000" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9924"/><rect x="444.5" y="53.5" width="24" height="21" rx="1.567" ry="1.567" fill="url(#linearGradient3278)" stroke="#888a85" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9924"/><path d="m455 59.07c-0.64 0-1.16 0.516-1.16 1.154v0.288c0 0.293-0.23 0.543-0.54 0.543h-0.12c-0.64 0-1.16 0.704-1.16 1.342v5.445c0 0.638 0.52 1.154 1.16 1.154h6.56c0.64 0 1.16-0.516 1.16-1.154v-5.445c0-0.638-0.52-1.342-1.16-1.342h-0.14c-0.26 0.02-0.55-0.186-0.55-0.526v-0.305c0-0.638-0.51-1.154-1.15-1.154z" fill="url(#linearGradient4307)" stroke="#fff" stroke-width="2"/><path d="m455 59.07c-0.64 0-1.16 0.516-1.16 1.154v0.288c0 0.293-0.23 0.543-0.54 0.543h-0.12c-0.64 0-1.16 0.704-1.16 1.342v5.445c0 0.638 0.52 1.154 1.16 1.154h6.56c0.64 0 1.16-0.516 1.16-1.154v-5.445c0-0.638-0.52-1.342-1.16-1.342h-0.14c-0.26 0.02-0.55-0.186-0.55-0.526v-0.305c0-0.638-0.51-1.154-1.15-1.154z" fill="url(#linearGradient4307)"/></g><rect x="455" y="60" width="3" height="2" rx=".3978" ry=".3978" color="#000000" fill="url(#linearGradient4182)"/><path d="m457.7 103.7s20-14 12-16-28.06 7.627-38 7c-10.11-0.638 22.5-9.83 24.77-27.71" fill="none" filter="url(#filter4618)" opacity=".4944" stroke="url(#radialGradient4612)" stroke-width="2"/><rect x="453.5" y="62.5" width="6" height="5" rx=".1768" ry=".1768" color="#000000" fill="#d3d7cf" stroke="url(#linearGradient4212)"/><rect transform="scale(-1)" x="-458.5" y="-66.5" width="4" height="3" rx=".1768" ry=".1768" color="#000000" fill="#888a85" stroke="url(#linearGradient4231)"/><rect x="445.5" y="54.5" width="22" height="19" rx=".5674" ry=".5674" fill="none" stroke="url(#linearGradient4380)" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9924"/><path d="m455 63.81c-1.03 8.083-9.29 14.95-16.38 19.75-3.54 2.401-6.67 4.247-8.53 5.718-0.46 0.368-0.85 0.712-1.18 1.125-0.34 0.414-0.74 1.02-0.57 1.907 0.17 0.886 0.92 1.362 1.47 1.562 0.56 0.2 1.11 0.299 1.81 0.344 5.52 0.347 13.01-2.019 20.25-4.094 7.25-2.075 14.34-3.76 17.5-2.969 0.73 0.182 0.75 0.332 0.75 0.344 0 0.01 0 0.304-0.25 0.906-0.56 1.204-2.21 3.148-4.15 4.969-3.89 3.642-8.85 7.095-8.85 7.095l1.72 2.47s5.04-3.519 9.16-7.377c2.06-1.93 3.91-3.892 4.84-5.875 0.47-0.992 0.75-2.114 0.32-3.25-0.44-1.137-1.55-1.87-2.82-2.188-4.83-1.209-11.76 0.918-19.03 3-6.88 1.972-13.91 3.965-18.4 3.938 1.62-1.195 4.33-2.874 7.65-5.125 7.26-4.922 16.44-12.08 17.69-21.88z" color="#000000" fill="url(#linearGradient3248-0)" fill-rule="evenodd" stroke="url(#linearGradient3250-1)" stroke-linejoin="round"/><path d="m454.5 63.68c0-0.1 0.1-0.177 0.18-0.177h3.64c0.1 0 0.18 0.08 0.18 0.177v2.646c0 0.1-0.1 0.177-0.18 0.177" color="#000000" fill="none" stroke="url(#linearGradient4501)"/><path d="m457.1 101.4s20-14 12-16-28.07 7.626-38 7c-10.11-0.638 22.49-9.831 24.76-27.71" fill="none" opacity=".614" stroke="url(#linearGradient4604)"/></g><g transform="matrix(.8255 0 0 .8255 .8993 10.73)" enable-background="new" stroke-linecap="round" stroke-linejoin="round"><path d="m7.938 4.062c-0.696 0.135-1.316 0.5049-1.75 1.031-0.2742-0.3584-0.7017-0.5937-1.188-0.5937-0.828 0-1.5 0.672-1.5 1.5 0 0.3263 0.1041 0.6287 0.2812 0.875-0.6152 0.2714-1.031 0.9098-1.031 1.625 0 0.077 0.022 0.1442 0.031 0.2187-0.2265-0.1378-0.4964-0.2187-0.781-0.2187-0.828 0-1.5 0.672-1.5 1.5s0.672 1.5 1.5 1.5c0.414 0 0.791-0.166 1.062-0.437 0.2413 0.833 1.027 1.437 1.938 1.437 0.3402 0 0.657-0.1 0.9375-0.25 0.4911 0.751 1.349 1.25 2.312 1.25s1.821-0.499 2.313-1.25c0.28 0.15 0.597 0.25 0.937 0.25 0.803 0 1.495-0.472 1.813-1.156 0.203 0.103 0.444 0.156 0.687 0.156 0.828 0 1.5-0.672 1.5-1.5s-0.672-1.5-1.5-1.5c-0.207 0-0.414 0.049-0.594 0.125 0.053-0.2019 0.094-0.4067 0.094-0.625 0-1.348-1.07-2.45-2.406-2.5-0.309-0.5332-0.781-0.9586-1.344-1.219z" fill="url(#radialGradient3595)" stroke="#729fcf"/><path d="m8.049 4.982c-0.4622 0.1062-0.8821 0.3416-1.166 0.6856a0.9018 0.9018 0 0 1-1.412-0.0274c-0.1151-0.1504-0.276-0.2383-0.4707-0.2383-0.3401 0-0.5977 0.2576-0.5977 0.5977 0 0.1346 0.041 0.2495 0.1114 0.3477a0.9018 0.9018 0 0 1-0.3692 1.352c-0.2747 0.1212-0.4922 0.4353-0.4922 0.8008 0-0.091 7e-4 -0.074 0.024 0.1016a0.9018 0.9018 0 0 1-1.364 0.8886c-0.0893-0.0543-0.1987-0.0879-0.3125-0.0879-0.3401 0-0.5977 0.2576-0.5977 0.5977 0 0.34 0.2576 0.598 0.5977 0.598 0.173 0 0.3195-0.07 0.4258-0.172a0.9018 0.9018 0 0 1 1.502 0.387c0.1284 0.443 0.5602 0.785 1.072 0.785 0.1634 0 0.3331-0.05 0.5117-0.143a0.9018 0.9018 0 0 1 1.18 0.301c0.328 0.502 0.9058 0.842 1.559 0.842s1.231-0.34 1.559-0.842a0.9018 0.9018 0 0 1 1.179-0.301c0.179 0.1 0.349 0.143 0.512 0.143 0.45 0 0.82-0.26 0.994-0.635a0.9018 0.9018 0 0 1 1.227-0.424c0.06 0.03 0.168 0.06 0.279 0.06 0.34 0 0.598-0.258 0.598-0.598 0-0.3401-0.258-0.5977-0.598-0.5977-0.06 0-0.164 0.02-0.242 0.053a0.9018 0.9018 0 0 1-1.225-1.06c0.044-0.1687 0.065-0.2914 0.065-0.3965 0-0.8709-0.678-1.567-1.537-1.6a0.9018 0.9018 0 0 1-0.747-0.4473c-0.201-0.3472-0.5219-0.6172-0.8882-0.8027z" fill="none" stroke="#fff"/></g></svg>
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/tunnel_disabled.png b/modules/luci-base/htdocs/luci-static/resources/icons/tunnel_disabled.png
deleted file mode 100644 (file)
index 406b350..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/tunnel_disabled.png and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/tunnel_disabled.svg b/modules/luci-base/htdocs/luci-static/resources/icons/tunnel_disabled.svg
new file mode 100644 (file)
index 0000000..eb7a208
--- /dev/null
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="31.923" viewBox="0 0 26.136 31.923" width="26.136"><linearGradient id="u" gradientUnits="userSpaceOnUse" x1="30.312" x2="30.312" y1="27.313" y2="24.688"><stop offset="0" stop-color="#edd400"/><stop offset="1" stop-color="#edd400" stop-opacity="0"/></linearGradient><radialGradient id="e" cx="13.324" cy="114.78" gradientTransform="matrix(2.9927 0 0 .92715 -27.059 9.21)" gradientUnits="userSpaceOnUse" r="16" href="#a"/><linearGradient id="a"><stop offset="0" stop-color="#fff"/><stop offset=".265" stop-color="#fff"/><stop offset="1" stop-color="#babdb6"/></linearGradient><linearGradient id="b"><stop offset="0"/><stop offset="1" stop-opacity="0"/></linearGradient><radialGradient id="A" cx="42.168" cy="43.191" gradientTransform="matrix(2.8899 0 0 1.1328 -114.74 -42.489)" gradientUnits="userSpaceOnUse" r="7.955" href="#a"/><radialGradient id="f" cx="14.363" cy="34.786" gradientTransform="matrix(1 0 0 .68844 0 10.838)" gradientUnits="userSpaceOnUse" r="8.795" href="#b"/><filter id="g" color-interpolation-filters="sRGB" height="1.044" width="1.039" x="-.02" y="-.022"><feGaussianBlur stdDeviation=".263"/></filter><linearGradient id="h" gradientTransform="matrix(2 0 0 1.9333 43.5 .533)" gradientUnits="userSpaceOnUse" x1="-7.975" x2="-11.006" y1="25.357" y2="-6.568"><stop offset="0" stop-color="#d3d7cf"/><stop offset="1" stop-color="#fff"/></linearGradient><linearGradient id="i" gradientUnits="userSpaceOnUse" x1="-7.852" x2="-5.51" y1="3.755" y2="18.938" href="#c"/><linearGradient id="c"><stop offset="0" stop-color="#fff"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></linearGradient><linearGradient id="j" gradientUnits="userSpaceOnUse" x1="28.625" x2="30.5" y1="41.125" y2="47.812" href="#b"/><filter id="k" color-interpolation-filters="sRGB" height="1.152" width="1.087" x="-.043" y="-.076"><feGaussianBlur stdDeviation=".782"/></filter><linearGradient id="l" gradientUnits="userSpaceOnUse" x1="1.626" x2=".822" y1="55.219" y2="54.416"><stop offset="0" stop-color="#adb0a8"/><stop offset="1" stop-color="#fff"/></linearGradient><linearGradient id="m" gradientTransform="matrix(.96429 0 0 .97222 -.25 1.694)" gradientUnits="userSpaceOnUse" x1="-4.221" x2="-4.221" y1="59.879" y2="54.708" href="#d"/><linearGradient id="d"><stop offset="0" stop-color="#fff"/><stop offset="1" stop-color="#d3d7cf"/></linearGradient><linearGradient id="n" gradientUnits="userSpaceOnUse" x1="-5.989" x2="-7.359" y1="27.138" y2="30" href="#b"/><linearGradient id="o" gradientUnits="userSpaceOnUse" x1="-8.685" x2="-3.116" y1="28.64" y2="26.563"><stop offset="0" stop-color="#eeeeec"/><stop offset="1" stop-color="#babdb6"/></linearGradient><linearGradient id="p" gradientUnits="userSpaceOnUse" x1="-9.082" x2="-3.735" y1="26.519" y2="25.458"><stop offset="0" stop-color="#eeeeec"/><stop offset="1" stop-color="#fff"/></linearGradient><linearGradient id="q" gradientUnits="userSpaceOnUse" x1="-9.969" x2="-9.969" y1="28.875" y2="27.812"><stop offset="0" stop-color="#888a85"/><stop offset="1" stop-color="#fff"/></linearGradient><linearGradient id="r" gradientTransform="matrix(1 0 0 1.0286 -4 -25.143)" gradientUnits="userSpaceOnUse" x1="-3.535" x2="-3.535" y1="55.867" y2="59.445"><stop offset="0" stop-color="#555753"/><stop offset="1" stop-color="#d3d7cf"/></linearGradient><linearGradient id="s" gradientTransform="matrix(1.0875 0 0 1.0864 -1.581 -8.943)" gradientUnits="userSpaceOnUse" x1="32.812" x2="32.812" y1="21" y2="26.205"><stop offset="0" stop-color="#2e3436"/><stop offset="1" stop-color="#555753"/></linearGradient><linearGradient id="t" gradientUnits="userSpaceOnUse" x1="29.875" x2="30" y1="22" y2="9" href="#c"/><linearGradient id="v" gradientUnits="userSpaceOnUse" x1="37.625" x2="38.875" y1="40.312" y2="45.062"><stop offset="0" stop-color="#729fcf"/><stop offset="1" stop-color="#729fcf" stop-opacity="0"/></linearGradient><linearGradient id="w" gradientUnits="userSpaceOnUse" x1="38.75" x2="40.125" y1="40.625" y2="46.562"><stop offset="0" stop-color="#3465a4"/><stop offset="1" stop-color="#3465a4" stop-opacity="0"/></linearGradient><linearGradient id="x" gradientUnits="userSpaceOnUse" x1="41.188" x2="42.124" y1="38.312" y2="42.938" href="#c"/><linearGradient id="y" gradientTransform="matrix(1.125 0 0 1.1667 15.875 -34.135)" gradientUnits="userSpaceOnUse" x1="-4.11" x2="-4.11" y1="58.808" y2="55" href="#d"/><linearGradient id="z" gradientUnits="userSpaceOnUse" x1="-6.406" x2="-7.781" y1="32.438" y2="34.562" href="#b"/><g transform="translate(.222 -2.121)scale(.5303)"><path d="M17.5 5.02a2.486 2.486 0 0 0-2.484 2.48c0 .24.116.44.179.66a7.45 7.45 0 0 0-4.765 2.92c-.141 0-.27-.1-.43-.1h-.02C9.98 9.89 9.086 9 7.996 9s-1.985.89-1.985 1.98c0 .86.57 1.59 1.346 1.86-.043.1-.09.2-.121.31a1.8 1.8 0 0 0-.74-.15c-1.125 0-2.052.6-2.688 1.43-.384-.25-.817-.43-1.312-.43A2.486 2.486 0 0 0 .01 16.48c0 1.37 1.118 2.48 2.485 2.48.495 0 .928-.18 1.312-.43.636.83 1.563 1.43 2.688 1.43h.1c.686 1.18 1.93 2 3.4 2 .707 0 1.366-.21 1.949-.53 1.258.95 2.798 1.53 4.488 1.53 2.007 0 3.811-.81 5.153-2.1.294.1.588.1.91.1 1.705 0 3.21-.81 4.215-2.03h.285c.633 0 1.204-.23 1.697-.57.352.33.783.57 1.303.57 1.09 0 1.984-.89 1.984-1.98s-.894-1.98-1.984-1.98h-.244c-.356-1.06-1.257-1.85-2.402-2a5.5 5.5 0 0 0-.692-1.04c.188-.31.322-.65.322-1.03 0-1.09-.894-1.98-1.984-1.98-.751 0-1.322.47-1.654 1.09-.275 0-.547-.1-.846-.1-.323 0-.619 0-.914.1a7.5 7.5 0 0 0-2-1.36c.23-.37.398-.79.398-1.26 0-1.37-1.118-2.48-2.484-2.48z" opacity=".1"/><g stroke-linecap="square" stroke-linejoin="round" transform="translate(0 -104)"><path d="M17.5 108.5a2.003 2.003 0 0 0-1.719 3.03 7.02 7.02 0 0 0-5.156 3.06c-.202 0-.407-.1-.625-.1s-.423 0-.625.1c.076-.18.125-.38.125-.59a1.5 1.5 0 1 0-1.5 1.5 2.5 2.5 0 0 0-.469 1.22c-.326-.12-.662-.22-1.031-.22a2.99 2.99 0 0 0-2.625 1.56 2 2 0 0 0-1.375-.56c-1.104 0-2 .9-2 2s.896 2 2 2c.536 0 1.016-.22 1.375-.56A2.99 2.99 0 0 0 6.5 122.5h.344A3.47 3.47 0 0 0 10 124.53c.725 0 1.41-.22 1.969-.59a7 7 0 0 0 4.468 1.59c1.964 0 3.729-.82 5-2.13.347.1.694.13 1.063.13 1.654 0 3.121-.82 4.031-2.06.154 0 .307.1.469.1.674 0 1.3-.25 1.75-.69.267.42.722.69 1.25.69a1.5 1.5 0 1 0 0-3c-.197 0-.39.1-.563.12-.181-1.17-1.153-2.09-2.375-2.12-.24-.55-.56-1.05-.968-1.47.253-.27.406-.63.406-1.03a1.5 1.5 0 0 0-1.5-1.5c-.7 0-1.273.48-1.438 1.12-.346-.1-.693-.12-1.062-.12s-.716 0-1.063.12a7 7 0 0 0-2.562-1.68c.381-.37.625-.87.625-1.44 0-1.1-.896-2-2-2z" fill="url(#e)" stroke="#729fcf"/><path d="M17.5 109.51c-.558 0-.99.43-.99.99 0 .19.05.37.136.51a1.01 1.01 0 0 1-.771 1.53 6 6 0 0 0-4.414 2.62 1.01 1.01 0 0 1-1.09.41c-.165 0-.279-.1-.371-.1s-.206 0-.371.1a1 1 0 0 1-.64-.2 1 1 0 0 1-.18.73c-.14.19-.243.45-.276.73a1.01 1.01 0 0 1-1.355.83c-.278-.1-.485-.15-.678-.15-.757 0-1.4.42-1.74 1.04a1.01 1.01 0 0 1-1.582.24.96.96 0 0 0-.678-.28c-.558 0-.99.43-.99.99s.432.99.99.99c.26 0 .488-.1.678-.28a1.01 1.01 0 0 1 1.582.24c.34.62.983 1.04 1.74 1.04h.227a1.01 1.01 0 0 1 1.033.57c.398.87 1.228 1.45 2.24 1.45a2.54 2.54 0 0 0 1.404-.42 1.01 1.01 0 0 1 1.209.1c1.034.86 2.358 1.36 3.824 1.36 1.682 0 3.184-.7 4.278-1.82a1.01 1.01 0 0 1 .939-.28c.298.1.566.1.846.1 1.32 0 2.488-.66 3.219-1.65a1.01 1.01 0 0 1 1.002-.39H27c.421 0 .795-.16 1.049-.4a1.01 1.01 0 0 1 1.547.17c.09.15.227.23.404.23.282 0 .49-.21.49-.49s-.208-.49-.49-.49h-.188a1.01 1.01 0 0 1-1.373-.78c-.11-.72-.671-1.25-1.402-1.27a1.01 1.01 0 0 1-.898-.6 4.1 4.1 0 0 0-.77-1.18 1.01 1.01 0 0 1-.01-1.39c.08-.1.131-.2.131-.34 0-.28-.208-.49-.49-.49-.244 0-.402.14-.459.36a1.01 1.01 0 0 1-1.195.74c-.298-.1-.566-.1-.846-.1s-.548 0-.846.1a1.01 1.01 0 0 1-.939-.28 6 6 0 0 0-2.192-1.45 1.01 1.01 0 0 1-.345-1.67c.2-.19.312-.43.312-.71 0-.56-.432-.99-.99-.99zm-9.5 4c-.282 0-.49.21-.49.49s.208.49.49.49a1 1 0 0 1 .523.2 1 1 0 0 1-.078-.49c.028-.1.045-.15.045-.2 0-.28-.208-.49-.49-.49z" fill="none" stroke="#fff"/></g></g><g transform="translate(.542 1.707)scale(.5303)"><g fill-rule="evenodd"><path d="M5 12h5-3z" fill="#fff"/><ellipse cx="14.363" cy="34.786" fill="url(#f)" opacity=".459" rx="8.795" ry="6.055" transform="matrix(1.156 0 0 1.1168 -1.49 -5.813)"/><rect filter="url(#g)" height="29" opacity=".12" rx="3.723" transform="translate(-.49 -.271)scale(1.0156)" width="32" x="15.375" y="2.875"/><rect height="29" rx="2.877" ry="2.781" width="32" x="14.5" y="1.5" stroke="#888a85" stroke-linecap="round" stroke-linejoin="round" stroke-dashoffset=".7" stroke-opacity=".992" fill="url(#h)"/></g><path d="M-12.5 1.498A.98.98 0 0 0-13.502 2.5v11a.98.98 0 0 0 1.002 1.002h12A.98.98 0 0 0 .502 13.5v-11A.98.98 0 0 0-.5 1.498z" transform="matrix(2.1429 0 0 2.0868 44.429 -.63)" fill="none" stroke-width=".473" stroke-linecap="round" stroke-linejoin="round" stroke-dashoffset=".7" stroke-opacity=".992" stroke="url(#i)"/><path d="M14.895 30.996a.5.5 0 0 0-.393.102s-4.318 3.332-8.233 6.572c-1.964 1.627-3.741 3.245-4.82 4.894-.523.8-1.105 1.856-.72 3.202a2.96 2.96 0 0 0 1.324 1.705c.554.327 1.118.468 1.7.535 2.272.262 4.92-.406 8.044-1.297 3.13-.893 6.69-2.089 10.267-3.256 3.578-1.166 7.182-2.3 10.295-2.986 3.107-.685 5.777-.846 7.143-.504.217.05.251.08.332.107-.02.106-.04.226-.139.432-.49 1.041-2.155 2.984-4.074 4.783-3.845 3.605-8.789 7.08-8.789 7.08a.51.51 0 0 0-.121.713l1.75 2.438a.51.51 0 0 0 .705.121s5.059-3.528 9.213-7.422c2.074-1.945 3.939-3.932 4.926-6.029.492-1.047.861-2.332.359-3.649-.51-1.339-1.784-2.154-3.166-2.5-2.606-.651-5.653-.213-9.014.527-3.366.743-7.06 1.867-10.673 3.045s-7.133 2.396-10.108 3.245c-2.185.623-3.874.901-5.107 1.003.786-.874 1.893-1.958 3.26-3.089 3.711-3.073 7.957-6.366 7.956-6.366a.51.51 0 0 0 .11-.687l-1.688-2.5a.5.5 0 0 0-.339-.219" fill="url(#j)" fill-rule="evenodd" filter="url(#k)" opacity=".319" transform="translate(.25 -.625)"/><g transform="translate(20)"><g fill-rule="evenodd"><g transform="matrix(1.1667 0 0 1.2 -3.833 -36.2)"><path d="M-2.344 51a.64.64 0 0 0-.5.25l-4.015 4c-.035.132-.1.271-.141.406v5.521c0 .364.297.656.656.656H.344a.67.67 0 0 0 .469-.187l4-4A.67.67 0 0 0 5 57.177v-5.521c0-.182-.07-.35-.187-.468a.66.66 0 0 0-.47-.188z" fill="url(#l)"/><path d="M-6.374 55.167H.088a.63.63 0 0 1 .626.638v5.39a.63.63 0 0 1-.626.638h-6.462A.63.63 0 0 1-7 61.195v-5.39a.63.63 0 0 1 .626-.638" fill="url(#m)"/></g><path d="m-5 25-5 5h4l5-5z" fill="url(#n)" opacity=".123"/><path d="m-1 25-9.5 4H-7l5-3z" fill="#babdb6"/></g><path d="M-6.562 25.5c-.024 0-.055 0-.157.125q-.044.03-.094.06l-.062.06-.062.06h-.03l-.063.06-.187.187a.96.96 0 0 1-.375.219l-4.252 1.229c-.4.208-.534.349-.594.469 0 0 .04.134 0 .09.08.1.361.253.844.344.34.07.617.314.727.643s.04.692-.196.951l-.343.375c-.02.09-.05.17-.09.312v6.56c0 .05 0 .116.06.188.03.04.104.06.157.06h7.844c.092 0 .168-.01.218-.06v-.03l4.655-4.808c.052-.054.062-.079.062-.188v-6.625c0-.108-.01-.164-.062-.219-.037-.037-.155-.062-.188-.062z" opacity=".534" fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-dashoffset=".7"/><path d="M-6.562 24.531c-.388 0-.692.219-.907.469l-.03-.03-.032.06-.343.313-4.251 1.218c-.03 0-.06.02-.09.03-.549.274-.902.554-1.094.937-.192.384-.116.867.125 1.156.329.394.858.553 1.407.657l-.407.437c-.06.05-.1.116-.125.188-.03.121-.07.316-.125.5q-.03.059-.03.125v6.656c0 .299.113.582.313.813.199.23.511.406.875.406h7.843c.324 0 .657-.116.906-.375l4.651-4.81c.226-.235.344-.539.344-.875v-6.625c0-.335-.118-.64-.344-.875a1.25 1.25 0 0 0-.874-.375z" fill="none" stroke="#555753" stroke-dashoffset=".7" stroke-linecap="round" stroke-linejoin="round"/><g fill-rule="evenodd"><path d="m-1 25-11 2.5 2 1.5h3l5-3z" fill="url(#o)"/><path d="m-5 25-7 2h4l7-2z" fill="url(#p)"/><path d="M-12 27h4c-2 1-.5 2 1 2h-4c-1.5 0-3-1-1-2" fill="url(#q)"/><path d="M-9.594 32h4.188c.225 0 .406.195.406.438v3.125c0 .242-.181.437-.406.437h-4.188c-.225 0-.406-.195-.406-.437v-3.125c0-.243.181-.438.406-.438" fill="url(#r)"/></g></g><path d="M29.48 10.068c-.639 0-1.155.516-1.155 1.154v.288a.54.54 0 0 1-.544.543h-1.563c-.639 0-1.155.704-1.155 1.342v6.445c0 .638.516 1.154 1.155 1.154h8.564c.639 0 1.155-.516 1.155-1.154v-6.445c0-.638-.516-1.342-1.155-1.342h-1.563a.514.514 0 0 1-.544-.526v-.305c0-.638-.516-1.154-1.155-1.154z" fill="url(#s)" fill-rule="evenodd"/><path d="M29.562 9.438c-1.109 0-1.984.908-2.062 2h-.938a2.143 2.143 0 0 0-2.125 2.125v5.874c0 1.16.966 2.125 2.125 2.125h7.876a2.143 2.143 0 0 0 2.125-2.125v-5.874c0-1.16-.966-2.125-2.125-2.125H33.5c-.078-1.092-.953-2-2.063-2z" fill="none" stroke="url(#t)" stroke-dashoffset=".7" stroke-linecap="round"/><path d="M26.5 26.5v-2m1.97 1.981v-2m4 2v-2M30.5 26.5v-2" fill="none" stroke="url(#u)" stroke-linecap="round" transform="translate(1 -8)"/><path d="M14.688 30.562s-4.19 3.268-8.094 6.501c-1.952 1.616-3.698 3.221-4.719 4.781-.51.78-.987 1.623-.656 2.781.165.579.611 1.121 1.093 1.406s.959.406 1.5.469c2.124.245 4.732-.394 7.844-1.281 3.113-.888 6.669-2.083 10.25-3.25 3.581-1.168 7.197-2.306 10.344-3s5.835-.885 7.375-.5c.729.182.746.301.75.312 0 .01.06.336-.219.938-.566 1.204-2.245 3.116-4.187 4.937-3.885 3.642-8.844 7.125-8.844 7.125l1.75 2.438s5.041-3.517 9.156-7.375c2.058-1.929 3.879-3.892 4.813-5.875.466-.992.777-2.113.344-3.25s-1.542-1.87-2.813-2.188c-2.46-.615-5.444-.204-8.781.532-3.337.735-7.019 1.855-10.625 3.031-3.607 1.176-7.129 2.395-10.125 3.25-2.912.83-5.298 1.22-6.469 1.125.62-.948 2.296-2.554 4.156-4.094A376 376 0 0 1 16.5 33z" fill="url(#v)" fill-rule="evenodd" stroke="url(#w)" stroke-linejoin="round"/><path d="M15.672 31.27S-2.765 43.957 3.735 44.707s28-10 36-8-12 16-12 16" fill="none" opacity=".19" stroke="url(#x)"/><g fill-rule="evenodd"><path d="m10.089 30.031.317 2h4.188c.225 0 .406.195.406.438v3.125l2-.313v-4.469c0-.424-.314-.781-.719-.781z" fill="url(#y)"/><path d="M-9.594 32h4.188c.225 0 .406.195.406.438v3.125c0 .242-.181.437-.406.437h-4.188c-.225 0-.406-.195-.406-.437v-3.125c0-.243.181-.438.406-.438" fill="url(#z)" opacity=".354" transform="translate(20)"/></g></g><g stroke-linecap="round" stroke-linejoin="round" transform="translate(8.5 18.704)scale(.5303)"><path d="M7.938 4.063a3 3 0 0 0-1.75 1.03A1.5 1.5 0 0 0 5 4.5a1.5 1.5 0 0 0-1.219 2.375c-.615.271-1.031.91-1.031 1.625 0 .077.022.144.031.219a1.5 1.5 0 1 0 .281 2.344A2.02 2.02 0 0 0 5 12.5c.34 0 .657-.1.938-.25a2.767 2.767 0 0 0 4.625 0c.28.15.597.25.937.25.803 0 1.495-.472 1.813-1.156.203.103.444.156.687.156a1.5 1.5 0 0 0 0-3c-.207 0-.414.049-.594.125A2.4 2.4 0 0 0 13.5 8c0-1.348-1.07-2.45-2.406-2.5A3 3 0 0 0 9.75 4.281z" fill="url(#A)" stroke="#729fcf"/><path d="M8.049 4.982c-.462.107-.882.342-1.166.686a.902.902 0 0 1-1.412-.027A.58.58 0 0 0 5 5.402.585.585 0 0 0 4.402 6c0 .135.041.25.112.348a.902.902 0 0 1-.37 1.351c-.274.121-.492.435-.492.801 0-.091.001-.074.024.102a.902.902 0 0 1-1.364.888A.6.6 0 0 0 2 9.402a.585.585 0 0 0-.598.598c0 .34.258.598.598.598a.6.6 0 0 0 .426-.172.902.902 0 0 1 1.502.387c.128.443.56.785 1.072.785q.244-.002.512-.143a.9.9 0 0 1 1.18.301 1.866 1.866 0 0 0 3.117 0 .9.9 0 0 1 1.179-.301c.179.1.349.143.512.143.45 0 .82-.26.994-.635a.9.9 0 0 1 1.227-.424c.06.03.168.06.279.06.34 0 .598-.258.598-.598A.586.586 0 0 0 14 9.403c-.06 0-.164.02-.242.053a.902.902 0 0 1-1.225-1.06c.044-.168.065-.29.065-.396 0-.87-.678-1.567-1.537-1.6a.9.9 0 0 1-.747-.447c-.201-.347-.522-.617-.888-.803z" fill="none" stroke="#fff"/></g></svg>
\ No newline at end of file
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/vlan.png b/modules/luci-base/htdocs/luci-static/resources/icons/vlan.png
deleted file mode 100644 (file)
index 5c780fe..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/vlan.png and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/vlan.svg b/modules/luci-base/htdocs/luci-static/resources/icons/vlan.svg
new file mode 100644 (file)
index 0000000..e00efb5
--- /dev/null
@@ -0,0 +1,2 @@
+<svg height="32" viewBox="0 0 32 32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="m30 17v-2h-13v-4h2a2.002 2.002 0 0 0 2-2v-5a2.002 2.002 0 0 0 -2-2h-6a2.002 2.002 0 0 0 -2 2v5a2.002 2.002 0 0 0 2 2h2v4h-13v2h6v4h-2a2.002 2.002 0 0 0 -2 2v5a2.002 2.002 0 0 0 2 2h6a2.002 2.002 0 0 0 2-2v-5a2.002 2.002 0 0 0 -2-2h-2v-4h12v4h-2a2.002 2.002 0 0 0 -2 2v5a2.002 2.002 0 0 0 2 2h6a2.002 2.002 0 0 0 2-2v-5a2.002 2.002 0 0 0 -2-2h-2v-4zm-17-13h6v5h-6zm-1 24h-6v-5h6zm14 0h-6v-5h6z" fill="#4242ff"/><path d="m0 0h32v32h-32z" fill="none"/></svg>
+<!-- Vectors and icons by https://github.com/carbon-design-system/carbon in Apache License -->
\ No newline at end of file
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/vlan_disabled.png b/modules/luci-base/htdocs/luci-static/resources/icons/vlan_disabled.png
deleted file mode 100644 (file)
index a069afe..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/vlan_disabled.png and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/vlan_disabled.svg b/modules/luci-base/htdocs/luci-static/resources/icons/vlan_disabled.svg
new file mode 100644 (file)
index 0000000..8cceece
--- /dev/null
@@ -0,0 +1,2 @@
+<svg height="32" viewBox="0 0 32 32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="m30 17v-2h-13v-4h2a2.002 2.002 0 0 0 2-2v-5a2.002 2.002 0 0 0 -2-2h-6a2.002 2.002 0 0 0 -2 2v5a2.002 2.002 0 0 0 2 2h2v4h-13v2h6v4h-2a2.002 2.002 0 0 0 -2 2v5a2.002 2.002 0 0 0 2 2h6a2.002 2.002 0 0 0 2-2v-5a2.002 2.002 0 0 0 -2-2h-2v-4h12v4h-2a2.002 2.002 0 0 0 -2 2v5a2.002 2.002 0 0 0 2 2h6a2.002 2.002 0 0 0 2-2v-5a2.002 2.002 0 0 0 -2-2h-2v-4zm-17-13h6v5h-6zm-1 24h-6v-5h6zm14 0h-6v-5h6z" fill="#808080"/><path d="m0 0h32v32h-32z" fill="none"/></svg>
+<!-- Vectors and icons by https://github.com/carbon-design-system/carbon in Apache License -->
\ No newline at end of file
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/wifi.png b/modules/luci-base/htdocs/luci-static/resources/icons/wifi.png
deleted file mode 100644 (file)
index 40da21f..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/wifi.png and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/wifi.svg b/modules/luci-base/htdocs/luci-static/resources/icons/wifi.svg
new file mode 100644 (file)
index 0000000..459fffa
--- /dev/null
@@ -0,0 +1 @@
+<svg height="32.011" viewBox="0 0 24.892 32.011" width="24.892" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><radialGradient id="a" cx="10.28" cy="8.071" gradientTransform="matrix(1 0 0 .8274 0 1.122)" gradientUnits="userSpaceOnUse" r="4.525" xlink:href="#e"/><radialGradient id="b" cx="10.28" cy="9.842" gradientTransform="matrix(4.681 0 0 1.277 -37.84 -3.301)" gradientUnits="userSpaceOnUse" r="4.525" xlink:href="#g"/><radialGradient id="c" cx="10.74" cy="19.5" gradientTransform="matrix(1 0 0 .3026 0 13.6)" gradientUnits="userSpaceOnUse" r="8.263" xlink:href="#d"/><linearGradient id="d"><stop offset="0"/><stop offset="1" stop-opacity="0"/></linearGradient><linearGradient id="e"><stop offset="0" stop-color="#729fcf"/><stop offset="1" stop-color="#729fcf" stop-opacity="0"/></linearGradient><radialGradient id="f" cx="10.28" cy="10.02" gradientTransform="matrix(4.681 0 0 1.277 -37.84 -3.301)" gradientUnits="userSpaceOnUse" r="4.525" xlink:href="#g"/><linearGradient id="g"><stop offset="0" stop-color="#3465a4"/><stop offset="1" stop-color="#3465a4" stop-opacity="0"/></linearGradient><linearGradient id="h" gradientUnits="userSpaceOnUse" x1="11.22" x2="11.22" xlink:href="#d" y1="43.14" y2="23.04"/><linearGradient id="i" gradientUnits="userSpaceOnUse" x1="24.84" x2="21.04" y1="44.53" y2="21.04"><stop offset="0" stop-color="#babdb6"/><stop offset="1" stop-color="#fff"/></linearGradient><linearGradient id="j" gradientUnits="userSpaceOnUse" x1="39.07" x2="39.42" y1="28.5" y2="10.94"><stop offset="0" stop-color="#888a85"/><stop offset="1" stop-color="#555753"/></linearGradient><radialGradient id="k" cx="10.28" cy="7.825" gradientTransform="matrix(.6984 0 0 .5779 3.1 2.744)" gradientUnits="userSpaceOnUse" r="4.525" xlink:href="#e"/><radialGradient id="l" cx="8.906" cy="1.729" gradientTransform="matrix(.7375 0 0 .7202 2.434 .6617)" gradientUnits="userSpaceOnUse" r="1.995"><stop offset="0" stop-color="#fff"/><stop offset="1" stop-color="#d3d7cf"/></radialGradient><radialGradient id="m" cx="8.305" cy="1.126" gradientTransform="matrix(1.86 0 0 1.817 -7.14 -.8942)" gradientUnits="userSpaceOnUse" r="2.051"><stop offset="0" stop-color="#fff"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></radialGradient><g enable-background="new" transform="matrix(.6237 0 0 .6237 -2.5201 3.0118)"><ellipse cx="10.74" cy="19.5" fill="url(#c)" opacity=".1" rx="8.263" ry="2.5" stroke-linecap="round" stroke-linejoin="round" transform="matrix(2.305 0 0 2.378 -1.198 -5.82)"/><ellipse cx="10.28" cy="6.5" rx="4.281" ry="3.5" style="opacity:.6;stroke-width:.1997;stroke-linecap:round;stroke-linejoin:round;fill:url(#a);stroke:url(#f)" transform="matrix(4.555 0 0 5.507 -22.83 -20.8)"/><path d="m24 12.55a.4507.4507 0 0 0 -.4.244l-16 31a.4507.4507 0 0 0 .4004.658h3.4996a.4507.4507 0 0 0 .406-.256l2.416-5.007 21.06 3.531.711 1.476a.4507.4507 0 0 0 .406.256h3.5a.4507.4507 0 0 0 .4-.658l-16-31a.4507.4507 0 0 0 -.4-.244zm0 6.465 3.172 6.619-5.627-1.463zm-3.756 7.826 5.738 1.478-8.398 4.088zm9.201 3.545 3.864 8.027-15.18-2.531z" fill="url(#h)" fill-rule="evenodd" opacity=".153" transform="matrix(1 0 0 .4005 0 26.14)"/><ellipse cx="10.28" cy="6.5" rx="4.281" ry="3.5" style="opacity:.8;stroke-width:.2685;stroke-linecap:round;stroke-linejoin:round;stroke:url(#b);fill:url(#a)" transform="matrix(3.387 0 0 4.094 -10.82 -11.61)"/><g transform="translate(0 -.5)"><path d="m24 13-16 31h3.5l2.563-5.312 21.62 3.625.812 1.687h3.5zm0 4.969 4 8.343-7.094-1.843zm-4 8.343 7.281 1.875-10.66 5.188zm9.656 3.469 4.438 9.219-17.44-2.906z" fill="url(#i)" fill-rule="evenodd" stroke="url(#j)"/><g fill="none" stroke="#fff" stroke-linecap="round"><path d="m38.41 43.03-14.41-27.91-14.41 27.91"/><path d="m15.78 34.91 13.03-6.344"/><path d="m15.09 36.84 19.66 3.281"/></g></g><g stroke-linecap="round" stroke-linejoin="round"><ellipse cx="10.28" cy="6.5" fill="url(#k)" rx="4.281" ry="3.5" stroke="url(#b)" stroke-width=".4075" transform="matrix(2.219 0 0 2.714 1.186 -2.643)"/><g transform="matrix(2.24 0 0 2.23 -19.68 9.389)"><ellipse cx="9.203" cy="2.25" fill="url(#l)" rx="1.797" ry="1.75" stroke="#555753" stroke-width=".3967" transform="matrix(1.113 0 0 1.143 9.256 -.07143)"/><circle cx="18.874" cy="1.7892" fill="#fff" r=".906" stroke-width="1.812"/></g><ellipse cx="9.203" cy="2.25" fill="none" rx="1.797" ry="1.75" stroke="url(#m)" stroke-width=".5078" transform="matrix(1.948 0 0 1.991 6.074 10.48)"/></g></g></svg>
\ No newline at end of file
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/wifi_disabled.png b/modules/luci-base/htdocs/luci-static/resources/icons/wifi_disabled.png
deleted file mode 100644 (file)
index 4948024..0000000
Binary files a/modules/luci-base/htdocs/luci-static/resources/icons/wifi_disabled.png and /dev/null differ
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/wifi_disabled.svg b/modules/luci-base/htdocs/luci-static/resources/icons/wifi_disabled.svg
new file mode 100644 (file)
index 0000000..a07e950
--- /dev/null
@@ -0,0 +1 @@
+<svg height="32.011" viewBox="0 0 24.892 32.011" width="24.892" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><radialGradient id="a" cx="10.74" cy="19.5" gradientTransform="matrix(1 0 0 .3026 0 13.6)" gradientUnits="userSpaceOnUse" r="8.263" xlink:href="#b"/><linearGradient id="b"><stop offset="0"/><stop offset="1" stop-opacity="0"/></linearGradient><linearGradient id="c" gradientUnits="userSpaceOnUse" x1="11.22" x2="11.22" xlink:href="#b" y1="43.14" y2="23.04"/><linearGradient id="d" gradientUnits="userSpaceOnUse" x1="24.84" x2="21.04" y1="44.53" y2="21.04"><stop offset="0" stop-color="#babdb6"/><stop offset="1" stop-color="#fff"/></linearGradient><linearGradient id="e" gradientUnits="userSpaceOnUse" x1="39.07" x2="39.42" y1="28.5" y2="10.94"><stop offset="0" stop-color="#888a85"/><stop offset="1" stop-color="#555753"/></linearGradient><radialGradient id="f" cx="8.906" cy="1.729" gradientTransform="matrix(.7375 0 0 .7202 2.434 .6617)" gradientUnits="userSpaceOnUse" r="1.995"><stop offset="0" stop-color="#fff"/><stop offset="1" stop-color="#d3d7cf"/></radialGradient><radialGradient id="g" cx="8.305" cy="1.126" gradientTransform="matrix(1.86 0 0 1.817 -7.14 -.8942)" gradientUnits="userSpaceOnUse" r="2.051"><stop offset="0" stop-color="#fff"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></radialGradient><g enable-background="new" transform="matrix(.6237 0 0 .6237 -2.5201 3.0118)"><ellipse cx="10.74" cy="19.5" fill="url(#a)" opacity=".1" rx="8.263" ry="2.5" stroke-linecap="round" stroke-linejoin="round" transform="matrix(2.305 0 0 2.378 -1.198 -5.82)"/><path d="m24 12.55a.4507.4507 0 0 0 -.4.244l-16 31a.4507.4507 0 0 0 .4004.658h3.4996a.4507.4507 0 0 0 .406-.256l2.416-5.007 21.06 3.531.711 1.476a.4507.4507 0 0 0 .406.256h3.5a.4507.4507 0 0 0 .4-.658l-16-31a.4507.4507 0 0 0 -.4-.244zm0 6.465 3.172 6.619-5.627-1.463zm-3.756 7.826 5.738 1.478-8.398 4.088zm9.201 3.545 3.864 8.027-15.18-2.531z" fill="url(#c)" fill-rule="evenodd" opacity=".153" transform="matrix(1 0 0 .4005 0 26.14)"/><g transform="translate(0 -.5)"><path d="m24 13-16 31h3.5l2.563-5.312 21.62 3.625.812 1.687h3.5zm0 4.969 4 8.343-7.094-1.843zm-4 8.343 7.281 1.875-10.66 5.188zm9.656 3.469 4.438 9.219-17.44-2.906z" fill="url(#d)" fill-rule="evenodd" stroke="url(#e)"/><g fill="none" stroke="#fff" stroke-linecap="round"><path d="m38.41 43.03-14.41-27.91-14.41 27.91"/><path d="m15.78 34.91 13.03-6.344"/><path d="m15.09 36.84 19.66 3.281"/></g></g><g stroke-linecap="round" stroke-linejoin="round"><g transform="matrix(2.24 0 0 2.23 -19.68 9.389)"><ellipse cx="9.203" cy="2.25" fill="url(#f)" rx="1.797" ry="1.75" stroke="#555753" stroke-width=".3967" transform="matrix(1.113 0 0 1.143 9.256 -.07143)"/><circle cx="18.874" cy="1.7892" fill="#fff" r=".906" stroke-width="1.812"/></g><ellipse cx="9.203" cy="2.25" fill="none" rx="1.797" ry="1.75" stroke="url(#g)" stroke-width=".5078" transform="matrix(1.948 0 0 1.991 6.074 10.48)"/></g></g></svg>
\ No newline at end of file
diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/wireguard.svg b/modules/luci-base/htdocs/luci-static/resources/icons/wireguard.svg
new file mode 100644 (file)
index 0000000..b82a9a7
--- /dev/null
@@ -0,0 +1,2 @@
+<svg height="32" viewBox="0 0 79.365 79.384" width="32" xmlns="http://www.w3.org/2000/svg"><g stroke-width=".265" transform="translate(155.59 -82.006)"><path d="m-76.297 120.53s1.836-38.524-40.483-38.524c-37.44 0-38.6 36.954-38.6 36.954s-5.51 42.43 39.46 42.43c43.126 0 39.623-40.86 39.623-40.86zm-52.323-13.46c7.94-4.86 18.08-1.89 21.89 5.42.72 1.38.81 3.51.35 4.97-1.57 5.01-5.29 7.82-10.4 9.02 1.51-1.29 2.7-2.75 3.08-4.77a6.9855 6.9855 0 0 0 -1.2-5.55 7.0802 7.0802 0 0 0 -8.15-2.48c-3.14 1.19-4.86 4.06-4.55 7.59.28 3.28 2.77 5.4 7.42 6.2-.69.37-1.23.64-1.75.94a16.912 16.912 0 0 0 -5.44 4.72c-.47.64-.8.69-1.51.25-9.35-5.72-9.96-20.06.26-26.31zm-7 35.33c-1.5.38-2.96.94-4.5 1.45.76-5.07 6.69-9.74 11.71-9.2a12.933 12.933 0 0 0 -2.45 6.85c-1.67.3-3.24.51-4.76.9zm31.96-49.481c1.48.06 2.97.03 4.448.07a7.6867 7.6867 0 0 1 1.108.153 10.744 10.744 0 0 1 -1.128 1.438c-.529.495-1.128.978-1.888.226-.19-.181-.62-.139-.94-.143-1.48-.02-2.96-.07-4.43-.01a27.527 27.527 0 0 0 -3.82.389c-.23.04-.59.829-.48 1.119.26.684.63 1.438 1.19 1.876 2.04 1.616 4.22 3.073 6.28 4.683 2 1.55 3.858 3.26 4.986 5.62 1.478 3.06 1.517 6.28.889 9.51-1.068 5.39-3.795 9.86-8.205 13.1-1.78 1.31-3.99 2.05-6.03 2.99-1.79.83-3.64 1.54-5.43 2.36-3.25 1.47-5.07 4.99-4.53 8.64.49 3.36 3.44 6.16 6.81 6.74 4.04.69 8.22-1.94 9.21-6.05 1.11-4.62-1.4-8.75-6.1-10-.21-.1-.42-.11-.85-.22 1.26-.56 2.34-.96 3.35-1.52q2.62-1.44 5.15-3.06c.5-.31.77-.31 1.19 0 3.229 2.8 5.155 6.28 5.694 10.54.898 7.06-2.435 13.55-8.744 16.87-9.75 5.15-21.68-.71-23.84-11.52-1.84-9.26 4.69-17.66 12.56-19.28 3.38-.7 6.48-2.11 8.88-4.71 1.55-1.69 2.31-3.13 2.56-3.78a10.468 10.468 0 0 0 .72-3.83 8.9606 8.9606 0 0 0 -.78-3.28c-.82-1.87-3.97-4.85-4.75-5.48l-7.41-5.8c-.26-.21-.55-.2-1.19-.16-.76 0-2.69.16-3.53-.1.68-.508 2.52-1.252 3.31-1.85-2.4-1.622-5.14-1.036-7.66-1.521.59-1.083 3.46-2.749 5.1-2.934a24.218 24.218 0 0 0 -.44-2.72c-.1-.368-.52-.725-.87-.936-.87-.509-1.79-.93-2.79-1.437a5.8039 5.8039 0 0 1 2.99-.928 11.196 11.196 0 0 1 3.01.293c1.78.407 3.2.141 4.62-1.071-1.11-.45-2.23-.861-3.31-1.347a32.554 32.554 0 0 1 -3.12-1.629c2.81.39 5.53 1.444 8.4 1.059q0-.196.1-.392c-2.14-.5-4.29-1-6.67-1.554 3.98-.364 7.68-.424 11.19 1.285.99.48 2.02.878 2.97 1.428.46.267.77.795 1.15 1.206.3.326.54.763.91.959 1.4.746 2.95.775 4.518.738 0-.179 0-.347 0-.527 1.587.494 3.363 2.319 3.36 3.652-2.561 0-5.118 0-7.678.02-.28 0-.55.202-.82.311.26.151.51.423.78.433z" fill="#88171a"/><path d="m-106.97 89.126a.39174.39174 0 0 0 0 .626.59071.59071 0 0 0 .81.218c.25-.125.49-.257.79-.415-.24-.205-.43-.374-.63-.538-.35-.287-.64-.106-.92.108z"/></g></svg>
+<!-- Vectorisation of WireGuard logo https://commons.wikimedia.org/wiki/File:Logo_of_WireGuard.svg -->
\ No newline at end of file
index b2c54e622402b414073e48b52087f70aabf980cc..05d27d0ae2d4ac98300498609a247d9d031a113b 100644 (file)
@@ -119,7 +119,7 @@ var CBIZoneSelect = form.ListValue.extend({
                                for (var k = 0; k < devices.length; k++) {
                                        span.appendChild(E('img', {
                                                'title': devices[k].getI18n(),
-                                               'src': L.resource('icons/%s%s.png'.format(devices[k].getType(), network.isUp() ? '' : '_disabled'))
+                                               'src': L.resource('icons/%s%s.svg'.format(devices[k].getType(), network.isUp() ? '' : '_disabled'))
                                        }));
                                }
 
@@ -264,7 +264,7 @@ var CBIZoneForwards = form.DummyValue.extend({
                        for (var k = 0; k < subdevs.length && subdevs[k]; k++) {
                                span.appendChild(E('img', {
                                        'title': subdevs[k].getI18n(),
-                                       'src': L.resource('icons/%s%s.png'.format(subdevs[k].getType(), network.isUp() ? '' : '_disabled'))
+                                       'src': L.resource('icons/%s%s.svg'.format(subdevs[k].getType(), network.isUp() ? '' : '_disabled'))
                                }));
                        }
 
@@ -283,7 +283,7 @@ var CBIZoneForwards = form.DummyValue.extend({
                        ifaces.push(E('span', { 'class': 'ifacebadge' }, [
                                E('img', {
                                        'title': title,
-                                       'src': L.resource('icons/%s%s.png'.format(type, up ? '' : '_disabled'))
+                                       'src': L.resource('icons/%s%s.svg'.format(type, up ? '' : '_disabled'))
                                }),
                                device ? device.getName() : devices[i]
                        ]));
@@ -360,7 +360,7 @@ var CBINetworkSelect = form.ListValue.extend({
                for (var j = 0; j < devices.length && devices[j]; j++) {
                        span.appendChild(E('img', {
                                'title': devices[j].getI18n(),
-                               'src': L.resource('icons/%s%s.png'.format(devices[j].getType(), network.isUp() ? '' : '_disabled'))
+                               'src': L.resource('icons/%s%s.svg'.format(devices[j].getType(), network.isUp() ? '' : '_disabled'))
                        }));
                }
 
@@ -505,7 +505,7 @@ var CBIDeviceSelect = form.ListValue.extend({
                        var item = E([
                                E('img', {
                                        'title': device.getI18n(),
-                                       'src': L.resource('icons/%s%s.png'.format(type, device.isUp() ? '' : '_disabled'))
+                                       'src': L.resource('icons/%s%s.svg'.format(type, device.isUp() ? '' : '_disabled'))
                                }),
                                E('span', { 'class': 'hide-open' }, [ name ]),
                                E('span', { 'class': 'hide-close'}, [ device.getI18n() ])
@@ -538,7 +538,7 @@ var CBIDeviceSelect = form.ListValue.extend({
                                var item = E([
                                        E('img', {
                                                'title': device.getI18n(),
-                                               'src': L.resource('icons/alias%s.png'.format(device.isUp() ? '' : '_disabled'))
+                                               'src': L.resource('icons/alias%s.svg'.format(device.isUp() ? '' : '_disabled'))
                                        }),
                                        E('span', { 'class': 'hide-open' }, [ name ]),
                                        E('span', { 'class': 'hide-close'}, [ device.getI18n() ])
@@ -576,7 +576,7 @@ var CBIDeviceSelect = form.ListValue.extend({
                                choices[keys[i]] = E([
                                        E('img', {
                                                'title': _('Absent Interface'),
-                                               'src': L.resource('icons/ethernet_disabled.png')
+                                               'src': L.resource('icons/ethernet_disabled.svg')
                                        }),
                                        E('span', { 'class': 'hide-open' }, [ keys[i] ]),
                                        E('span', { 'class': 'hide-close'}, [ '%s: "%h"'.format(_('Absent Interface'), keys[i]) ])
@@ -600,7 +600,7 @@ var CBIDeviceSelect = form.ListValue.extend({
                        create: !this.nocreate,
                        create_markup: '' +
                                '<li data-value="{{value}}">' +
-                                       '<img title="'+_('Custom Interface')+': &quot;{{value}}&quot;" src="'+L.resource('icons/ethernet_disabled.png')+'" />' +
+                                       '<img title="'+_('Custom Interface')+': &quot;{{value}}&quot;" src="'+L.resource('icons/ethernet_disabled.svg')+'" />' +
                                        '<span class="hide-open">{{value}}</span>' +
                                        '<span class="hide-close">'+_('Custom Interface')+': "{{value}}"</span>' +
                                '</li>'
index def3eb13d30f3f05f9c2d829b3044a6ce368a066..008b5bda5f9bdb0e9477499e4932df9528f84cbc 100644 (file)
@@ -4520,7 +4520,7 @@ const UI = baseclass.extend(/** @lends LuCI.ui.prototype */ {
         * or rejecting with `null` when the connectivity check timed out.
         */
        pingDevice(proto, ipaddr) {
-               const target = '%s://%s%s?%s'.format(proto ?? 'http', ipaddr ?? window.location.host, L.resource('icons/loading.gif'), Math.random());
+               const target = '%s://%s%s?%s'.format(proto ?? 'http', ipaddr ?? window.location.host, L.resource('icons/loading.svg'), Math.random());
 
                return new Promise((resolveFn, rejectFn) => {
                        const img = new Image();
index 7fe6e9d57d25862ca4e978b67cc0b22a9b27a9fb..db25cf605faf8fa4be322f5ffe2e14d4c5b34a75 100644 (file)
@@ -64,7 +64,7 @@
                        var img = new Image();
 
                        img.onload = function() { window.location = url };
-                       img.src = 'https://' + window.location.hostname + ':' + port + '{{ resource }}/icons/loading.gif?' + Math.random();
+                       img.src = 'https://' + window.location.hostname + ':' + port + '{{ resource }}/icons/loading.svg?' + Math.random();
 
                        setTimeout(function() { img.src = '' }, 5000);
                });
index 7ecec10a8ff11a15691a6b398f29c05459090a47..69737de452b3167c09f78d152295224e09ea4a69 100644 (file)
@@ -83,7 +83,7 @@
                                                for _, iface in ipairs(net:is_bridge() and net:get_interfaces() or { net:get_interface() }) do
                                                        nempty = false
                                        %>
-                                               <img<%=attr("title", iface:get_i18n())%> src="<%=resource%>/icons/<%=iface:type()%><%=iface:is_up() and "" or "_disabled"%>.png" />
+                                               <img<%=attr("title", iface:get_i18n())%> style="width:16px; height:16px; vertical-align:middle" src="<%=resource%>/icons/<%=iface:type()%><%=iface:is_up() and "" or "_disabled"%>.svg" />
                                        <% end %>
                                        <% if nempty then %><em><%:(empty)%></em><% end -%>
                                        </span>
index f23e51d18d6a952ba6b7b952b08a405ea1afbbd7..bd2dfcf782a923d1928a1852e8d7dc55f7d3c5a1 100644 (file)
@@ -48,7 +48,7 @@
 %>>
        <script type="item-template"><!--
                <li data-value="{{value}}">
-                       <img title="<%:Custom Interface%>: &quot;{{value}}&quot;" src="<%=resource%>/icons/ethernet_disabled.png" />
+                       <img title="<%:Custom Interface%>: &quot;{{value}}&quot;" style="width:16px; height:16px; vertical-align:middle" src="<%=resource%>/icons/ethernet_disabled.svg" />
                        <span class="hide-open">{{value}}</span>
                        <span class="hide-close"><%:Custom Interface%>: "{{value}}"</span>
                </li>
@@ -64,7 +64,7 @@
                        attr("data-value", iface:name()) ..
                        ifattr(checked[iface:name()], "selected", "selected")
                %>>
-                       <img<%=attr("title", iface:get_i18n())%> src="<%=resource%>/icons/<%=iface:type()%><%=iface:is_up() and "" or "_disabled"%>.png" />
+                       <img<%=attr("title", iface:get_i18n())%> style="width:16px; height:16px; vertical-align:middle" src="<%=resource%>/icons/<%=iface:type()%><%=iface:is_up() and "" or "_disabled"%>.svg" />
                        <span class="hide-open"><%=pcdata(iface:name())%></span>
                        <span class="hide-close">
                                <%=pcdata(iface:get_i18n())%>
@@ -79,7 +79,7 @@
                <% end end %>
                <% if not self.nocreate then %>
                <li data-value="">
-                       <img title="<%:Custom Interface%>" src="<%=resource%>/icons/ethernet_disabled.png" />
+                       <img title="<%:Custom Interface%>" style="width:16px; height:16px; vertical-align:middle" src="<%=resource%>/icons/ethernet_disabled.svg" />
                        <span><%:Custom Interface%>:</span>
                        <input type="password" style="display:none" />
                        <input class="create-item-input" type="text" />
index 4fd84112a44033278872c865ba99784ecf33791d..677b7120d382477b9379f09bae054da2e979ea89 100644 (file)
@@ -18,7 +18,7 @@
                        if not iface:is_bridge() then
                                empty = false
         %>
-               <img<%=attr("title", iface:get_i18n())%> style="width:16px; height:16px; vertical-align:middle" src="<%=resource%>/icons/<%=iface:type()%><%=iface:is_up() and "" or "_disabled"%>.png" />
+               <img<%=attr("title", iface:get_i18n())%> style="width:16px; height:16px; vertical-align:middle" src="<%=resource%>/icons/<%=iface:type()%><%=iface:is_up() and "" or "_disabled"%>.svg" />
        <% end end %>
        <% if empty then %><em><%:(no interfaces attached)%></em><% end %>
 </span>
index 3ee4274a33b482312e2c2db1fb8312626cd638a5..b7532fa76ebd9792aa0b659c735b9c2b7cb8b2a3 100644 (file)
@@ -52,7 +52,7 @@
                                                if not iface:is_bridge() then
                                                        empty = false
                                -%>
-                                       <img<%=attr("title", iface:get_i18n())%> style="width:16px; height:16px; vertical-align:middle" src="<%=resource%>/icons/<%=iface:type()%><%=iface:is_up() and "" or "_disabled"%>.png" />
+                                       <img<%=attr("title", iface:get_i18n())%> style="width:16px; height:16px; vertical-align:middle" src="<%=resource%>/icons/<%=iface:type()%><%=iface:is_up() and "" or "_disabled"%>.svg" />
                                <%- end end %>
                                <% if empty then %>
                                        <em class="hide-close"><%:(no interfaces attached)%></em>
index c342d3ce92716f9d147f40d7ef7848f2c861b0ee..82696cf1fb37b0c37e40359a683dc3bb1dc7b88c 100644 (file)
@@ -71,7 +71,7 @@ function updateDevBadge(node, dev) {
        dom.content(node, [
                E('img', {
                        'class': 'middle',
-                       'src': L.resource('icons/%s%s.png').format(type, up ? '' : '_disabled')
+                       'src': L.resource('icons/%s%s.svg').format(type, up ? '' : '_disabled')
                }),
                '\x0a', dev.getName()
        ]);
@@ -107,7 +107,7 @@ function updatePortStatus(node, dev) {
        dom.content(node, [
                E('img', {
                        'class': 'middle',
-                       'src': L.resource('icons/port_%s.png').format(carrier ? 'up' : 'down')
+                       'src': L.resource('icons/port_%s.svg').format(carrier ? 'up' : 'down')
                }),
                '\x0a', desc
        ]);
index 702fb3fde22eb57773364fce6c56c3f6542c2e12..3e7614dd38c1ed5dfef0b0538a3d1a39066bc5f3 100644 (file)
@@ -35,11 +35,11 @@ function render_iface(dev, alias) {
            up   = dev ? dev.isUp() : false;
 
        return E('span', { class: 'cbi-tooltip-container' }, [
-               E('img', { 'class' : 'middle', 'src': L.resource('icons/%s%s.png').format(
+               E('img', { 'class' : 'middle', 'src': L.resource('icons/%s%s.svg').format(
                        alias ? 'alias' : type,
                        up ? '' : '_disabled') }),
                E('span', { 'class': 'cbi-tooltip ifacebadge large' }, [
-                       E('img', { 'src': L.resource('icons/%s%s.png').format(
+                       E('img', { 'src': L.resource('icons/%s%s.svg').format(
                                type, up ? '' : '_disabled') }),
                        L.itemlist(E('span', { 'class': 'left' }), [
                                _('Type'),      dev ? dev.getTypeI18n() : null,
@@ -103,7 +103,7 @@ function render_modal_status(node, ifc) {
 
        dom.content(node, [
                E('img', {
-                       'src': L.resource('icons/%s%s.png').format(dev ? dev.getType() : 'ethernet', ifc.isUp() ? '' : '_disabled'),
+                       'src': L.resource('icons/%s%s.svg').format(dev ? dev.getType() : 'ethernet', ifc.isUp() ? '' : '_disabled'),
                        'title': dev ? dev.getTypeI18n() : _('Not present')
                }),
                ifc ? render_status(E('span'), ifc, true) : E('em', _('Interface not present or not connected yet.'))
@@ -297,7 +297,7 @@ return view.extend({
                                var dev = ifc.getDevice();
                                dom.content(stat, [
                                        E('img', {
-                                               'src': L.resource('icons/%s%s.png').format(dev ? dev.getType() : 'ethernet', ifc.isUp() ? '' : '_disabled'),
+                                               'src': L.resource('icons/%s%s.svg').format(dev ? dev.getType() : 'ethernet', ifc.isUp() ? '' : '_disabled'),
                                                'title': dev ? dev.getTypeI18n() : _('Not present')
                                        }),
                                        render_status(E('span'), ifc, true)
@@ -1289,7 +1289,7 @@ return view.extend({
                                        'data-network': section_id
                                }, [
                                        E('img', {
-                                               'src': L.resource('icons/ethernet_disabled.png'),
+                                               'src': L.resource('icons/ethernet_disabled.svg'),
                                                'style': 'width:16px; height:16px'
                                        }),
                                        E('br'), E('small', '?')
index 535a133e783ea411d9dc3d7f691d891f3ad07566..20a59a08d60758c2434f9920088082852d4ed8fe 100644 (file)
@@ -71,13 +71,13 @@ function render_port_status(node, portstate) {
 
        if (!portstate || !portstate.link)
                dom.content(node, [
-                       E('img', { src: L.resource('icons/port_down.png') }),
+                       E('img', { src: L.resource('icons/port_down.svg') }),
                        E('br'),
                        _('no link')
                ]);
        else
                dom.content(node, [
-                       E('img', { src: L.resource('icons/port_up.png') }),
+                       E('img', { src: L.resource('icons/port_up.svg') }),
                        E('br'),
                        '%d'.format(portstate.speed) + _('baseT'),
                        E('br'),
index f8f7cf17f5bca42c3fcc67c0f43b6eb967a28a0c..b5fa409fe21e0c1f3056b7d070b10d0b532fce21 100644 (file)
@@ -22,21 +22,21 @@ function count_changes(section_id) {
 
 function render_radio_badge(radioDev) {
        return E('span', { 'class': 'ifacebadge' }, [
-               E('img', { 'src': L.resource('icons/wifi%s.png').format(radioDev.isUp() ? '' : '_disabled') }),
+               E('img', { 'src': L.resource('icons/wifi%s.svg').format(radioDev.isUp() ? '' : '_disabled') }),
                ' ',
                radioDev.getName()
        ]);
 }
 
 function render_signal_badge(signalPercent, signalValue, noiseValue, wrap, mode) {
-       let icon = L.resource('icons/signal-75-100.png'), title, value;
+       let icon = L.resource('icons/signal-75-100.svg'), title, value;
 
        switch(true) {
-       case(signalPercent  < 0): icon = L.resource('icons/signal-none.png');   break;
-       case(signalPercent == 0): icon = L.resource('icons/signal-0.png');              break;
-       case(signalPercent < 25): icon = L.resource('icons/signal-0-25.png');   break;
-       case(signalPercent < 50): icon = L.resource('icons/signal-25-50.png');  break;
-       case(signalPercent < 75): icon = L.resource('icons/signal-50-75.png');  break;
+       case(signalPercent  < 0): icon = L.resource('icons/signal-none.svg');   break;
+       case(signalPercent == 0): icon = L.resource('icons/signal-000-000.svg');                break;
+       case(signalPercent < 25): icon = L.resource('icons/signal-000-025.svg');        break;
+       case(signalPercent < 50): icon = L.resource('icons/signal-025-050.svg');        break;
+       case(signalPercent < 75): icon = L.resource('icons/signal-050-075.svg');        break;
        }
 
        if (signalValue) {
@@ -719,7 +719,7 @@ return view.extend({
                                        'data-ssid': bss.network.getSSID()
                                }, [
                                        E('img', {
-                                               'src': L.resource('icons/wifi%s.png').format(bss.network.isUp() ? '' : '_disabled'),
+                                               'src': L.resource('icons/wifi%s.svg').format(bss.network.isUp() ? '' : '_disabled'),
                                                'title': bss.radio.getI18n()
                                        }),
                                        E('span', [
index cf123d6a9809a6d5399e018be15b76772b508ccb..b9956fd5ebf99d6142eb26dd74bfb07b7a4fcb1e 100644 (file)
@@ -26,17 +26,17 @@ return view.extend({
                var icon, title, value;
 
                if (signalPercent < 0)
-                       icon = L.resource('icons/signal-none.png');
+                       icon = L.resource('icons/signal-none.svg');
                else if (signalPercent == 0)
-                       icon = L.resource('icons/signal-0.png');
+                       icon = L.resource('icons/signal-000-000.svg');
                else if (signalPercent < 25)
-                       icon = L.resource('icons/signal-0-25.png');
+                       icon = L.resource('icons/signal-000-025.svg');
                else if (signalPercent < 50)
-                       icon = L.resource('icons/signal-25-50.png');
+                       icon = L.resource('icons/signal-025-050.svg');
                else if (signalPercent < 75)
-                       icon = L.resource('icons/signal-50-75.png');
+                       icon = L.resource('icons/signal-050-075.svg');
                else
-                       icon = L.resource('icons/signal-75-100.png');
+                       icon = L.resource('icons/signal-075-100.svg');
 
                value = '%d\xa0%s'.format(signalValue, _('dBm'));
                title = '%s: %d %s'.format(_('Signal'), signalValue, _('dBm'));
index c0f69a7b651bfe8d49b8301084181d3544e0d16c..a4a55ce760ee4e40dae5efeb514b2f89a09d5f4d 100644 (file)
@@ -269,7 +269,7 @@ function renderNetworkBadge(network, zonename) {
        if (l3dev)
                span.appendChild(E('img', {
                        'title': l3dev.getI18n(),
-                       'src': L.resource('icons/%s%s.png'.format(l3dev.getType(), l3dev.isUp() ? '' : '_disabled'))
+                       'src': L.resource('icons/%s%s.svg'.format(l3dev.getType(), l3dev.isUp() ? '' : '_disabled'))
                }));
        else
                span.appendChild(E('em', _('(no interfaces attached)')));
@@ -363,7 +363,7 @@ return baseclass.extend({
                        return E('div', { 'class': 'ifacebox', 'style': 'margin:.25em;min-width:70px;max-width:100px' }, [
                                E('div', { 'class': 'ifacebox-head', 'style': 'font-weight:bold' }, [ port.netdev.getName() ]),
                                E('div', { 'class': 'ifacebox-body' }, [
-                                       E('img', { 'src': L.resource('icons/port_%s.png').format(carrier ? 'up' : 'down') }),
+                                       E('img', { 'src': L.resource('icons/port_%s.svg').format(carrier ? 'up' : 'down') }),
                                        E('br'),
                                        formatSpeed(carrier, speed, duplex)
                                ]),
index e87aa345422b38f82e0bacbeaee9b66e804a70a8..a1d950c908a20c766d6cb194f224320014359730 100644 (file)
@@ -42,7 +42,7 @@ function renderbox(ifc, ipv6) {
                                _('Connected'), (uptime > 0) ? '%t'.format(uptime) : null
                        ]),
                        E('div', {}, renderBadge(
-                               L.resource('icons/%s.png').format(dev ? dev.getType() : 'ethernet_disabled'), null,
+                               L.resource('icons/%s.svg').format(dev ? dev.getType() : 'ethernet_disabled'), null,
                                _('Device'), dev ? dev.getI18n() : '-',
                                _('MAC address'), dev.getMAC())
                        )
index c77e88fb76f38add38778d0b51959039e4c36870..ec9f9f11f4872f7b0c4540fdf96121a21bccf211 100644 (file)
@@ -114,17 +114,17 @@ return baseclass.extend({
 
                        var icon;
                        if (net.isDisabled())
-                               icon = L.resource('icons/signal-none.png');
+                               icon = L.resource('icons/signal-none.svg');
                        else if (quality <= 0)
-                               icon = L.resource('icons/signal-0.png');
+                               icon = L.resource('icons/signal-000-000.svg');
                        else if (quality < 25)
-                               icon = L.resource('icons/signal-0-25.png');
+                               icon = L.resource('icons/signal-000-025.svg');
                        else if (quality < 50)
-                               icon = L.resource('icons/signal-25-50.png');
+                               icon = L.resource('icons/signal-025-050.svg');
                        else if (quality < 75)
-                               icon = L.resource('icons/signal-50-75.png');
+                               icon = L.resource('icons/signal-050-075.svg');
                        else
-                               icon = L.resource('icons/signal-75-100.png');
+                               icon = L.resource('icons/signal-075-100.svg');
 
                        var WPS_button = null;
 
@@ -263,15 +263,15 @@ return baseclass.extend({
                                var icon;
                                var q = Math.min((bss.signal + 110) / 70 * 100, 100);
                                if (q == 0)
-                                       icon = L.resource('icons/signal-0.png');
+                                       icon = L.resource('icons/signal-000-000.svg');
                                else if (q < 25)
-                                       icon = L.resource('icons/signal-0-25.png');
+                                       icon = L.resource('icons/signal-000-025.svg');
                                else if (q < 50)
-                                       icon = L.resource('icons/signal-25-50.png');
+                                       icon = L.resource('icons/signal-025-050.svg');
                                else if (q < 75)
-                                       icon = L.resource('icons/signal-50-75.png');
+                                       icon = L.resource('icons/signal-050-075.svg');
                                else
-                                       icon = L.resource('icons/signal-75-100.png');
+                                       icon = L.resource('icons/signal-075-100.svg');
 
                                var sig_title, sig_value;
 
@@ -303,7 +303,7 @@ return baseclass.extend({
                                                'data-ifname': networks[i].getIfname(),
                                                'data-ssid': networks[i].getActiveSSID()
                                        }, [
-                                               E('img', { 'src': L.resource('icons/wifi.png') }),
+                                               E('img', { 'src': L.resource('icons/wifi.svg'), 'style': 'width:32px;height:32px' }),
                                                E('span', {}, [
                                                        ' ', networks[i].getShortName(),
                                                        E('small', {}, [ ' (', networks[i].getIfname(), ')' ])
index 4344c36739592abab9ca1430bcb08ccbb3ec1765..ff6756f05116834d85b4c493bddb215eb68c59d8 100644 (file)
@@ -128,7 +128,7 @@ return view.extend({
                                        'click': ui.createHandlerFn(this, handleInterfaceDetails, ifaces[instanceName])
                                }, [
                                        E('span', { 'class': 'ifacebadge' }, [
-                                               E('img', { 'src': L.resource('icons', 'tunnel.png') }),
+                                               E('img', { 'src': L.resource('icons', 'wireguard.svg'), 'style': 'width:32px;height:32px' }),
                                                '\xa0',
                                                instanceName
                                        ]),
index b995f973bb9d190246263284470ea37c3d6d8bbb..9e47e521e2c368e0a2c2198db66033e4d60dfa98 100644 (file)
@@ -1608,6 +1608,12 @@ body.modal-overlay-active #modal_overlay {
        color: var(--text-color-high);
 }
 
+.cbi-dropdown img {
+       /* the following are necessary to constrain (vector) images of any size */
+       max-height: 1.6em;  /* Adjusts image height to fit slightly larger than text line height */
+       width: auto;  /* Preserves aspect ratio */
+}
+
 .cbi-dropdown > ul {
        margin: 0 !important;
        padding: 0;
@@ -2207,8 +2213,8 @@ th[data-sort-direction="desc"]::after { content: "\a0\25bc"; }
 }
 
 .ifacebadge img {
-       width: 16px;
-       height: 16px;
+       width: 32px;
+       height: 32px;
        vertical-align: middle;
 }
 
index a09d7c36f19cd12e3daa4d0aa68216dad59bed08..6f4484614978421eae26d751cb469629ac8cc3d3 100644 (file)
@@ -1466,6 +1466,12 @@ body:not(.Interfaces) .cbi-rowstyle-2:first-child {
        margin-top: -3px;
 }
 
+.cbi-dropdown img {
+       /* the following are necessary to constrain (vector) images of any size */
+       max-height: 1.6em;  /* Adjusts image height to fit slightly larger than text line height */
+       width: auto;  /* Preserves aspect ratio */
+}
+
 .cbi-dropdown > ul {
        display: flex;
        overflow-x: hidden;
@@ -1822,7 +1828,7 @@ body.modal-overlay-active #modal_overlay {
        left: .2em;
        width: 32px;
        content: "";
-       background: url(../resources/icons/loading.gif) no-repeat center;
+       background: url(../resources/icons/loading.svg) no-repeat center;
        background-size: 16px;
 }
 
@@ -1886,6 +1892,12 @@ body.modal-overlay-active #modal_overlay {
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 1px 2px rgba(0, 0, 0, .05);
 }
 
+.ifacebadge img {
+       width: 32px;
+       height: 32px;
+       vertical-align: middle;
+}
+
 td > .ifacebadge,
 .td > .ifacebadge {
        font-size: .8rem;
index 9fa3ce6b2b495dd80aa6566b728587c1c1dfbf63..5dcda6efc6f662cb8098f0b65db4ebe7cd573971 100644 (file)
@@ -716,7 +716,8 @@ p > a {
 .ifacebadge > img {
        vertical-align: text-bottom;
        margin: .25em;
-       height: 16px;
+       height: 32px;
+       width: 32px;
 }
 
 .ifacebadge > * {
@@ -1267,6 +1268,12 @@ textarea {
        box-shadow: inset 0 0 1px var(--main-dark-color);
 }
 
+.cbi-dropdown img {
+       /* the following are necessary to constrain (vector) images of any size */
+       max-height: 1.6em;  /* Adjusts image height to fit slightly larger than text line height */
+       width: auto;  /* Preserves aspect ratio */
+}
+
 .cbi-dropdown > ul {
        margin: 0 !important;
        padding: 0;
index b0e64753c20ac208242010756381407b2dfa224e..9fcf6557b550f16116e902b56b30ffc92c56c07e 100644 (file)
@@ -1175,6 +1175,12 @@ ul.cbi-tabmenu li.cbi-tab-disabled[data-errors]::after {
        outline: 2px solid #4b6e9b;
 }
 
+.cbi-dropdown img {
+       /* the following are necessary to constrain (vector) images of any size */
+       max-height: 1.6em;  /* Adjusts image height to fit slightly larger than text line height */
+       width: auto;  /* Preserves aspect ratio */
+}
+
 .cbi-dropdown > ul {
        margin: 0 !important;
        padding: 0;
@@ -1551,6 +1557,12 @@ select + .cbi-button {
        background: #fff;
 }
 
+.ifacebadge img {
+       width: 32px;
+       height: 32px;
+       vertical-align: middle;
+}
+
 .ifacebox-head {
        background: #eee;
 }
@@ -1571,7 +1583,6 @@ select + .cbi-button {
 .ifacebadge > em {
        margin-right: 5px;
        display: inline-block;
-       height: 16px;
 }
 
 .ifacebadge-active {
@@ -1782,7 +1793,7 @@ select + .cbi-button {
        bottom: 0;
        width: 32px;
        content: " ";
-       background: url(../resources/icons/loading.gif) no-repeat center;
+       background: url(../resources/icons/loading.svg) no-repeat center;
        background-size: 16px;
 }